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 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.
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
.void
modifiedService
(org.osgi.framework.ServiceReference reference, Object service) A service tracked by theServiceTracker
has been modified.void
removedService
(org.osgi.framework.ServiceReference reference, Object service) A service tracked by theServiceTracker
has 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
ServiceTracker
is added to theServiceTracker
. This method should return the service object to be tracked for the specifiedServiceReference
. The returned service object is stored in theServiceTracker
and is available from thegetService
andgetServices
methods.- Parameters:
reference
- The reference to the service being added to theServiceTracker
.- Returns:
- The service object to be tracked for the specified referenced
service or
null
if the specified referenced service should not be tracked.
-
modifiedService
A service tracked by theServiceTracker
has been modified.This method is called when a service being tracked by the
ServiceTracker
has 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 theServiceTracker
has 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.
-