Mercurial > projects > dwt2
view org.eclipse.osgi/osgi/src/org/osgi/framework/ServiceEvent.d @ 86:12b890a6392a
Work on databinding
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 18 Apr 2009 13:58:35 +0200 |
parents | |
children | bbe49769ec18 |
line wrap: on
line source
/* * $Header: /cvshome/build/org.osgi.framework/src/org/osgi/framework/ServiceEvent.java,v 1.15 2007/02/20 00:14:12 hargrave Exp $ * * Copyright (c) OSGi Alliance (2000, 2007). All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ module org.osgi.framework.ServiceEvent; import org.osgi.framework.ServiceReference; import java.lang.util; import java.util.EventObject; /** * An event from the Framework describing a service lifecycle change. * <p> * <code>ServiceEvent</code> objects are delivered to * <code>ServiceListener</code>s and <code>AllServiceListener</code>s when * a change occurs in this service's lifecycle. A type code is used to identify * the event type for future extendability. * * <p> * OSGi Alliance reserves the right to extend the set of types. * * @Immutable * @see ServiceListener * @see AllServiceListener * @version $Revision: 1.15 $ */ public class ServiceEvent : EventObject { static final long serialVersionUID = 8792901483909409299L; /** * Reference to the service that had a change occur in its lifecycle. */ private final ServiceReference reference; /** * Type of service lifecycle change. */ private final int type; /** * This service has been registered. * <p> * This event is synchronously delivered <strong>after</strong> the service * has been registered with the Framework. * * <p> * The value of <code>REGISTERED</code> is 0x00000001. * * @see BundleContext#registerService(String[],Object,java.util.Dictionary) */ public final static int REGISTERED = 0x00000001; /** * The properties of a registered service have been modified. * <p> * This event is synchronously delivered <strong>after</strong> the service * properties have been modified. * * <p> * The value of <code>MODIFIED</code> is 0x00000002. * * @see ServiceRegistration#setProperties */ public final static int MODIFIED = 0x00000002; /** * This service is in the process of being unregistered. * <p> * This event is synchronously delivered <strong>before</strong> the * service has completed unregistering. * * <p> * If a bundle is using a service that is <code>UNREGISTERING</code>, 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. * * <p> * The value of UNREGISTERING is 0x00000004. * * @see ServiceRegistration#unregister * @see BundleContext#ungetService */ public final static int UNREGISTERING = 0x00000004; /** * Creates a new service event object. * * @param type The event type. * @param reference A <code>ServiceReference</code> object to the service * that had a lifecycle change. */ public this(int type, ServiceReference reference) { super(cast(Object)reference); this.reference = reference; this.type = type; } /** * Returns a reference to the service that had a change occur in its * lifecycle. * <p> * This reference is the source of the event. * * @return Reference to the service that had a lifecycle change. */ public ServiceReference getServiceReference() { return reference; } /** * Returns the type of event. The event type values are: * <ul> * <li>{@link #REGISTERED} * <li>{@link #MODIFIED} * <li>{@link #UNREGISTERING} * </ul> * * @return Type of service lifecycle change. */ public int getType() { return type; } }