///* // * Copyright (c) OSGi Alliance (2000, 2009). 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. // */ // //package org.osgi.framework; // //import java.util.Dictionary; //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> // * <p> // * OSGi Alliance reserves the right to extend the set of types. // * // * @version $Revision: 6542 $ // * @see ServiceListener // */ // //public class ServiceEvent extends 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. // * // * @see BundleContext#registerService(String[], Object, 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. // * // * @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> // * <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. // * // * @see ServiceRegistration#unregister // * @see BundleContext#ungetService // */ // public final static int UNREGISTERING = 0x00000004; // // /** // * The properties of a registered service have been modified and the new // * properties no longer match the listener's filter. // * <p> // * This event is synchronously delivered <strong>after</strong> the service // * properties have been modified. This event is only delivered to listeners // * which were added with a non-<code>null</code> filter where the filter // * matched the service properties prior to the modification but the filter // * does not match the modified service properties. // * // * @see ServiceRegistration#setProperties // * @since 1.5 // */ // public final static int MODIFIED_ENDMATCH = 0x00000008; // //// /** //// * 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 ServiceEvent(int type, ServiceReference reference) { //// super(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> // * <li>{@link #MODIFIED} </li> // * <li>{@link #MODIFIED_ENDMATCH} </li> // * <li>{@link #UNREGISTERING} </li> // * </ul> // * // * @return Type of service lifecycle change. // */ // // public int getType() { // return type; // } //}