Interface ServiceTrackerCustomizer
- All Known Implementing Classes:
ServiceTracker
ServiceTrackerCustomizer interface allows a
ServiceTracker to customize the service objects that are
tracked. A ServiceTrackerCustomizer is called when a service is
being added to a ServiceTracker. The
ServiceTrackerCustomizer can then return an object for the
tracked service. A ServiceTrackerCustomizer is also called when
a tracked service is modified or has been removed from a
ServiceTracker.
The methods in this interface may be called as the result of a
ServiceEvent being received by a ServiceTracker.
Since ServiceEvents are synchronously delivered by the
Framework, it is highly recommended that implementations of these methods do
not register (BundleContext.registerService), modify (
ServiceRegistration.setProperties) or unregister (
ServiceRegistration.unregister) a service while being
synchronized on any object.
The ServiceTracker class is thread-safe. It does not call a
ServiceTrackerCustomizer while holding any locks.
ServiceTrackerCustomizer implementations must also be
thread-safe.
- Version:
- $Revision: 5874 $
-
Method Summary
Modifier and TypeMethodDescriptionaddingService(org.osgi.framework.ServiceReference reference) A service is being added to theServiceTracker.voidmodifiedService(org.osgi.framework.ServiceReference reference, Object service) A service tracked by theServiceTrackerhas been modified.voidremovedService(org.osgi.framework.ServiceReference reference, Object service) A service tracked by theServiceTrackerhas been removed.
-
Method Details
-
addingService
A service is being added to theServiceTracker.This method is called before a service which matched the search parameters of the
ServiceTrackeris added to theServiceTracker. This method should return the service object to be tracked for the specifiedServiceReference. The returned service object is stored in theServiceTrackerand is available from thegetServiceandgetServicesmethods.- Parameters:
reference- The reference to the service being added to theServiceTracker.- Returns:
- The service object to be tracked for the specified referenced
service or
nullif the specified referenced service should not be tracked.
-
modifiedService
A service tracked by theServiceTrackerhas been modified.This method is called when a service being tracked by the
ServiceTrackerhas had it properties modified.- Parameters:
reference- The reference to the service that has been modified.service- The service object for the specified referenced service.
-
removedService
A service tracked by theServiceTrackerhas been removed.This method is called after a service is no longer being tracked by the
ServiceTracker.- Parameters:
reference- The reference to the service that has been removed.service- The service object for the specified referenced service.
-