Package org.osgi.framework

# Interface AllServiceListener

All Superinterfaces:
  `EventListener`, `ServiceListener`

@ConsumerType public interface AllServiceListener extends ServiceListener
A `ServiceEvent` listener that does not filter based upon package wiring. `AllServiceListener` is a listener interface that may be implemented by a bundle developer. When a `ServiceEvent` is fired, it is synchronously delivered to an `AllServiceListener`. The Framework may deliver `ServiceEvent` objects to an `AllServiceListener` out of order and may concurrently call and/or reenter an `AllServiceListener`.

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

`ServiceEvent` object delivery to `AllServiceListener` objects is filtered by the filter specified when the listener was registered. If the Java Runtime Environment supports permissions, then additional 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.

Unlike normal `ServiceListener` objects, `AllServiceListener` objects receive all `ServiceEvent` objects regardless of whether the package source of the listening bundle is equal to the package source of the bundle that registered the service. This means that the listener may not be able to cast the service object to any of its corresponding service interfaces if the service object is retrieved.

Since:
  1.3
Author:
  $Id: fc2039183bb7c2117c182949118bb4cdd3b2e6c2 $
See Also:
  - `ServiceEvent`
  - `ServicePermission`

## Method Summary

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

`serviceChanged`