Interface ServiceTrackerCustomizer<S,T>
- Type Parameters:
S- The type of the service being tracked.T- The type of the tracked object.
- 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.
- Author:
- $Id: 0c3333455f7d80a7793c77ac9671baa4a02a89b9 $
-
Method Summary
Modifier and TypeMethodDescriptionaddingService(ServiceReference<S> reference) A service is being added to theServiceTracker.voidmodifiedService(ServiceReference<S> reference, T service) A service tracked by theServiceTrackerhas been modified.voidremovedService(ServiceReference<S> reference, T 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.
-