///*
// * 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;
// }
//}