KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > osgi > framework > SynchronousBundleListener


1 /*
2  * $Header: /cvshome/build/org.osgi.framework/src/org/osgi/framework/SynchronousBundleListener.java,v 1.15 2007/02/20 00:16:30 hargrave Exp $
3  *
4  * Copyright (c) OSGi Alliance (2001, 2007). All Rights Reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18
19 package org.osgi.framework;
20
21 /**
22  * A synchronous <code>BundleEvent</code> listener.
23  * <code>SynchronousBundleListener</code> is a listener interface that may be
24  * implemented by a bundle developer. When a <code>BundleEvent</code> is
25  * fired, it is synchronously delivered to a
26  * <code>SynchronousBundleListener</code>. The Framework may deliver
27  * <code>BundleEvent</code> objects to a
28  * <code>SynchronousBundleListener</code> out of order and may concurrently
29  * call and/or reenter a <code>SynchronousBundleListener</code>.
30  * <p>
31  * A <code>SynchronousBundleListener</code> object is registered with the
32  * Framework using the {@link BundleContext#addBundleListener} method.
33  * <code>SynchronousBundleListener</code> objects are called with a
34  * <code>BundleEvent</code> object when a bundle has been installed, resolved,
35  * starting, started, stopping, stopped, updated, unresolved, or uninstalled.
36  * <p>
37  * Unlike normal <code>BundleListener</code> objects,
38  * <code>SynchronousBundleListener</code>s are synchronously called during
39  * bundle lifecycle processing. The bundle lifecycle processing will not proceed
40  * until all <code>SynchronousBundleListener</code>s have completed.
41  * <code>SynchronousBundleListener</code> objects will be called prior to
42  * <code>BundleListener</code> objects.
43  * <p>
44  * <code>AdminPermission[bundle,LISTENER]</code> is required to add or remove
45  * a <code>SynchronousBundleListener</code> object.
46  *
47  * @since 1.1
48  * @see BundleEvent
49  * @ThreadSafe
50  * @version $Revision: 1.15 $
51  */

52
53 public interface SynchronousBundleListener extends BundleListener {
54     // This is a marker interface
55
}
56
Popular Tags