OSGi™ Core
Release 5

org.osgi.framework
Class ServiceEvent

java.lang.Object
  extended by java.util.EventObject
      extended by org.osgi.framework.ServiceEvent
All Implemented Interfaces:
java.io.Serializable

public class ServiceEvent
extends java.util.EventObject

An event from the Framework describing a service lifecycle change.

ServiceEvent objects are delivered to ServiceListeners and AllServiceListeners when a change occurs in this service's lifecycle. A type code is used to identify the event type for future extendability.

OSGi Alliance reserves the right to extend the set of types.

See Also:
ServiceListener, AllServiceListener, Serialized Form
Immutable

Field Summary
static int MODIFIED
          The properties of a registered service have been modified.
static int MODIFIED_ENDMATCH
          The properties of a registered service have been modified and the new properties no longer match the listener's filter.
static int REGISTERED
          This service has been registered.
static int UNREGISTERING
          This service is in the process of being unregistered.
 
Fields inherited from class java.util.EventObject
source
 
Constructor Summary
ServiceEvent(int type, ServiceReference<?> reference)
          Creates a new service event object.
 
Method Summary
 ServiceReference<?> getServiceReference()
          Returns a reference to the service that had a change occur in its lifecycle.
 int getType()
          Returns the type of event.
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REGISTERED

public static final int REGISTERED
This service has been registered.

This event is synchronously delivered after the service has been registered with the Framework.

See Also:
BundleContext.registerService(String[],Object,Dictionary), Constant Field Values

MODIFIED

public static final int MODIFIED
The properties of a registered service have been modified.

This event is synchronously delivered after the service properties have been modified.

See Also:
ServiceRegistration.setProperties(Dictionary), Constant Field Values

UNREGISTERING

public static final int UNREGISTERING
This service is in the process of being unregistered.

This event is synchronously delivered before the service has completed unregistering.

If a bundle is using a service that is UNREGISTERING, the bundle should release its use of the service when it receives this event. If the bundle does not release its use of the service when it receives this event, the Framework will automatically release the bundle's use of the service while completing the service unregistration operation.

See Also:
ServiceRegistration.unregister(), BundleContext.ungetService(ServiceReference), Constant Field Values

MODIFIED_ENDMATCH

public static final int MODIFIED_ENDMATCH
The properties of a registered service have been modified and the new properties no longer match the listener's filter.

This event is synchronously delivered after the service properties have been modified. This event is only delivered to listeners which were added with a non-null filter where the filter matched the service properties prior to the modification but the filter does not match the modified service properties.

Since:
1.5
See Also:
ServiceRegistration.setProperties(Dictionary), Constant Field Values
Constructor Detail

ServiceEvent

public ServiceEvent(int type,
                    ServiceReference<?> reference)
Creates a new service event object.

Parameters:
type - The event type.
reference - A ServiceReference object to the service that had a lifecycle change.
Method Detail

getServiceReference

public ServiceReference<?> getServiceReference()
Returns a reference to the service that had a change occur in its lifecycle.

This reference is the source of the event.

Returns:
Reference to the service that had a lifecycle change.

getType

public int getType()
Returns the type of event. The event type values are:

Returns:
Type of service lifecycle change.

OSGi™ Core
Release 5

Copyright © OSGi Alliance (2000, 2012). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0