ServiceTrackerCustomizer
interface allows a ServiceTracker
object to customize the service objects that are tracked.
The ServiceTrackerCustomizer
object is called when a service is being added to the ServiceTracker
object. The ServiceTrackerCustomizer
can then return an object for the tracked service. The ServiceTrackerCustomizer
object is also called when a tracked service is modified or has been removed from the ServiceTracker
object.
The methods in this interface may be called as the result of a ServiceEvent
being received by a ServiceTracker
object. Since ServiceEvent
s 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.
Definition at line 45 of file ServiceTrackerCustomizer.java.
Public Member Functions | |
Object | addingService (ServiceReference reference) |
A service is being added to the ServiceTracker object. | |
void | modifiedService (ServiceReference reference, Object service) |
A service tracked by the ServiceTracker object has been modified. | |
void | removedService (ServiceReference reference, Object service) |
A service tracked by the ServiceTracker object has been removed. |
Object org.osgi.util.tracker.ServiceTrackerCustomizer.addingService | ( | ServiceReference | reference | ) |
A service is being added to the ServiceTracker
object.
This method is called before a service which matched the search parameters of the ServiceTracker
object is added to it. This method should return the service object to be tracked for this ServiceReference
object. The returned service object is stored in the ServiceTracker
object and is available from the getService
and getServices
methods.
reference | Reference to service being added to the ServiceTracker object. |
ServiceReference
object or null
if the ServiceReference
object should not be tracked. Implemented in org.osgi.util.tracker.ServiceTracker.
void org.osgi.util.tracker.ServiceTrackerCustomizer.modifiedService | ( | ServiceReference | reference, | |
Object | service | |||
) |
A service tracked by the ServiceTracker
object has been modified.
This method is called when a service being tracked by the ServiceTracker
object has had it properties modified.
reference | Reference to service that has been modified. | |
service | The service object for the modified service. |
Implemented in org.osgi.util.tracker.ServiceTracker.
Referenced by org.osgi.util.tracker.ServiceTracker.Tracked.track().
void org.osgi.util.tracker.ServiceTrackerCustomizer.removedService | ( | ServiceReference | reference, | |
Object | service | |||
) |
A service tracked by the ServiceTracker
object has been removed.
This method is called after a service is no longer being tracked by the ServiceTracker
object.
reference | Reference to service that has been removed. | |
service | The service object for the removed service. |
Implemented in org.osgi.util.tracker.ServiceTracker.
Referenced by org.osgi.util.tracker.ServiceTracker.Tracked.untrack().