Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.osgi.util.tracker
Interface ServiceTrackerCustomizer

All Known Implementing Classes:
  ServiceTracker

public interface ServiceTrackerCustomizer

The `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.

Method Summary
`java.lang.Object` | `addingService(ServiceReference reference)` A service is being added to the `ServiceTracker` object.
`void` | `modifiedService(ServiceReference reference, java.lang.Object service)` A service tracked by the `ServiceTracker` object has been modified.
`void` | `removedService(ServiceReference reference, java.lang.Object service)` A service tracked by the `ServiceTracker` object has been removed.

Method Detail

### addingService

    public java.lang.Object 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.

  Parameters:
    `reference` - Reference to service being added to the `ServiceTracker` object.
  Returns:
    The service object to be tracked for the `ServiceReference` object or `null` if the `ServiceReference` object should not be tracked.

### modifiedService

    public void modifiedService(ServiceReference reference,
                                java.lang.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.

  Parameters:
    `reference` - Reference to service that has been modified.
    `service` - The service object for the modified service.

### removedService

    public void removedService(ServiceReference reference,
                               java.lang.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.

  Parameters:
    `reference` - Reference to service that has been removed.
    `service` - The service object for the removed service.

Overview | Package | Class | Tree | Serialized | Deprecated | Index | Help
| OSGi Service Platform Release 3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) OSGi Alliance (2000, 2003). All Rights Reserved.