A {@code ServiceEvent} listener that does not filter based upon packagewiring. {@code AllServiceListener} is a listener interface that may beimplemented by a bundle developer. When a {@code ServiceEvent} is fired, itis synchronously delivered to an {@code AllServiceListener}. The Framework may deliver {@code ServiceEvent} objects to an {@code AllServiceListener} outof order and may concurrently call and/or reenter an {@code AllServiceListener}.
An {@code AllServiceListener} object is registered with the Framework usingthe {@code BundleContext.addServiceListener} method.{@code AllServiceListener} objects are called with a {@code ServiceEvent}object when a service is registered, modified, or is in the process of unregistering.
{@code ServiceEvent} object delivery to {@code AllServiceListener} objects isfiltered by the filter specified when the listener was registered. If the Java Runtime Environment supports permissions, then additional filtering is done. {@code ServiceEvent} objects are only delivered to the listener if thebundle which defines the listener object's class has the appropriate {@code ServicePermission} to get the service using at least one of the namedclasses under which the service was registered.
Unlike normal {@code ServiceListener} objects, {@code AllServiceListener}objects receive all {@code ServiceEvent} objects regardless of whether thepackage 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.
@see ServiceEvent
@see ServicePermission
@ThreadSafe
@since 1.3
@author $Id: fc2039183bb7c2117c182949118bb4cdd3b2e6c2 $