public interface ServiceTrackerCustomizer
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.
Modifier and Type | Method and Description |
---|---|
Object |
addingService(ServiceReference reference)
A service is being added to the
ServiceTracker . |
void |
modifiedService(ServiceReference reference,
Object service)
A service tracked by the
ServiceTracker has been modified. |
void |
removedService(ServiceReference reference,
Object service)
A service tracked by the
ServiceTracker has been removed. |
Object addingService(ServiceReference reference)
ServiceTracker
.
This method is called before a service which matched the search
parameters of the ServiceTracker
is added to the
ServiceTracker
. This method should return the service object
to be tracked for the specified ServiceReference
. The
returned service object is stored in the ServiceTracker
and
is available from the getService
and
getServices
methods.
reference
- The reference to the service being added to the
ServiceTracker
.null
if the specified referenced service
should not be tracked.void modifiedService(ServiceReference reference, Object service)
ServiceTracker
has been modified.
This method is called when a service being tracked by the
ServiceTracker
has had it properties modified.
reference
- The reference to the service that has been modified.service
- The service object for the specified referenced service.void removedService(ServiceReference reference, Object service)
ServiceTracker
has been removed.
This method is called after a service is no longer being tracked by the
ServiceTracker
.
reference
- The reference to the service that has been removed.service
- The service object for the specified referenced service.Copyright © 2018 JBoss by Red Hat. All rights reserved.