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.
| Modifier and Type | Method and Description |
|---|---|
| public T | Returns: The service object to be tracked for the specified referenced service ornull if the specified referenced service
should not be tracked.The reference to the service being added to the
reference)ServiceTracker.A service is being added to the |
| public void | modifiedService(ServiceReference<S>
The reference to the service that has been modified. reference, T The service object for the specified referenced service. service)A service tracked by the |
| public void | removedService(ServiceReference<S>
The reference to the service that has been removed. reference, T The service object for the specified referenced service. service)A service tracked by the |
| addingService | back to summary |
|---|---|
| public T addingService(ServiceReference<S> reference) A service is being added to the
This method is called before a service which matched the search
parameters of the
| |
| modifiedService | back to summary |
|---|---|
| public void modifiedService(ServiceReference<S> reference, T service) A service tracked by the
This method is called when a service being tracked by the
| |
| removedService | back to summary |
|---|---|
| public void removedService(ServiceReference<S> reference, T service) A service tracked by the
This method is called after a service is no longer being tracked by the
| |