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:
Logger,ObserverTracker,ServiceTracker,SortingServiceTracker,TikaActivator
@ConsumerType public interface ServiceTrackerCustomizer<S,T>
TheServiceTrackerCustomizerinterface allows aServiceTrackerto customize the service objects that are tracked. AServiceTrackerCustomizeris called when a service is being added to aServiceTracker. TheServiceTrackerCustomizercan then return an object for the tracked service. AServiceTrackerCustomizeris also called when a tracked service is modified or has been removed from aServiceTracker.The methods in this interface may be called as the result of a
ServiceEventbeing received by aServiceTracker. SinceServiceEvents 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
ServiceTrackerclass is thread-safe. It does not call aServiceTrackerCustomizerwhile holding any locks.ServiceTrackerCustomizerimplementations must also be thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TaddingService(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 Detail
-
addingService
T addingService(ServiceReference<S> reference)
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
void modifiedService(ServiceReference<S> reference, T service)
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
void removedService(ServiceReference<S> reference, T service)
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.
-
-