UnfilteredServiceListener
Date: 2016-06-24

org.osgi.framework

## Interface UnfilteredServiceListener

- All Superinterfaces:
    java.util.EventListener, ServiceListener

      @ConsumerType
      public interface UnfilteredServiceListener
      extends ServiceListener

  A `ServiceEvent` listener that does not filter based upon any filter string specified to `BundleContext.addServiceListener(ServiceListener, String)`. Using an `UnfilteredServiceListener` and specifying a filter string to `BundleContext.addServiceListener(ServiceListener, String)` allows the listener to receive all `ServiceEvent` objects while still advising `ListenerHook` implementation of the service interests in the filter string. For example, an implementation of Declarative Services would add an `UnfilteredServiceListener` with a filter string listing all the services referenced by all the service components. The Declarative Services implementation would receive all `ServiceEvent` objects for internal processing and a Remote Services discovery service implementation can observe the service interests of the service components using a `ListenerHook`. When the set of service components being processed changes, the Declarative Services implementation would re-add the `UnfilteredServiceListener` with an updated filter string.

  When a `ServiceEvent` is fired, it is synchronously delivered to an `UnfilteredServiceListener`. The Framework may deliver `ServiceEvent` objects to an `UnfilteredServiceListener` out of order and may concurrently call and/or reenter an `UnfilteredServiceListener`.

  An `UnfilteredServiceListener` object is registered with the Framework using the `BundleContext.addServiceListener` method. `UnfilteredServiceListener` objects are called with a `ServiceEvent` object when a service is registered, modified, or is in the process of unregistering.

  `ServiceEvent` object delivery to `UnfilteredServiceListener` objects are not filtered by the filter specified when the listener was registered. If the Java Runtime Environment supports permissions, then some filtering is done. `ServiceEvent` objects are only delivered to the listener if the bundle which defines the listener object's class has the appropriate `ServicePermission` to get the service using at least one of the named classes under which the service was registered.

  Since:
    1.7
  See Also:
    `ServiceEvent`, `ServicePermission`

- - ### Method Summary

    - ### Methods inherited from interface org.osgi.framework.ServiceListener

      `serviceChanged`