org.osgi.framework

## Class BundleEvent

- java.lang.Object
- - java.util.EventObject
  - - org.osgi.framework.BundleEvent

All Implemented Interfaces:
  Serializable

    public class BundleEvent
    extends EventObject

An event from the Framework describing a bundle lifecycle change.

`BundleEvent` objects are delivered to `SynchronousBundleListener`s and `BundleListener`s when a change occurs in a bundle'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.

Author:
  $Id: cd49848213816c4f76541b70be12ac3af7900972 $
See Also:
  `BundleListener`, `SynchronousBundleListener`, Serialized Form

### Field Summary

Fields
`static int` `INSTALLED` The bundle has been installed.
`static int` `LAZY_ACTIVATION` The bundle will be lazily activated.
`static int` `RESOLVED` The bundle has been resolved.
`static int` `STARTED` The bundle has been started.
`static int` `STARTING` The bundle is about to be activated.
`static int` `STOPPED` The bundle has been stopped.
`static int` `STOPPING` The bundle is about to deactivated.
`static int` `UNINSTALLED` The bundle has been uninstalled.
`static int` `UNRESOLVED` The bundle has been unresolved.
`static int` `UPDATED` The bundle has been updated.

### Fields inherited from class java.util.EventObject

`source`

### Constructor Summary

Constructors
Constructor and Description
`BundleEvent(int type, Bundle bundle)` Creates a bundle event of the specified type.
`BundleEvent(int type, Bundle bundle, Bundle origin)` Creates a bundle event of the specified type.

### Method Summary

All Methods Instance Methods Concrete Methods
`Bundle` `getBundle()` Returns the bundle which had a lifecycle change.
`Bundle` `getOrigin()` Returns the bundle that was the origin of the event.
`int` `getType()` Returns the type of lifecyle event.

### Methods inherited from class java.util.EventObject

`getSource, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### INSTALLED

    public static final int INSTALLED

The bundle has been installed.

See Also:
  `BundleContext.installBundle(String)`, Constant Field Values

#### STARTED

    public static final int STARTED

The bundle has been started.

The bundle's `BundleActivator start` method has been executed if the bundle has a bundle activator class.

See Also:
  `Bundle.start()`, Constant Field Values

#### STOPPED

    public static final int STOPPED

The bundle has been stopped.

The bundle's `BundleActivator stop` method has been executed if the bundle has a bundle activator class.

See Also:
  `Bundle.stop()`, Constant Field Values

#### UPDATED

    public static final int UPDATED

The bundle has been updated.

See Also:
  `Bundle.update()`, Constant Field Values

#### UNINSTALLED

    public static final int UNINSTALLED

The bundle has been uninstalled.

See Also:
  `Bundle.uninstall()`, Constant Field Values

#### RESOLVED

    public static final int RESOLVED

The bundle has been resolved.

Since:
  1.3
See Also:
  `Bundle.RESOLVED`, Constant Field Values

#### UNRESOLVED

    public static final int UNRESOLVED

The bundle has been unresolved.

Since:
  1.3
See Also:
  `Bundle.INSTALLED`, Constant Field Values

#### STARTING

    public static final int STARTING

The bundle is about to be activated.

The bundle's `BundleActivator start` method is about to be called if the bundle has a bundle activator class. This event is only delivered to `SynchronousBundleListener` s. It is not delivered to `BundleListener`s.

Since:
  1.3
See Also:
  `Bundle.start()`, Constant Field Values

#### STOPPING

    public static final int STOPPING

The bundle is about to deactivated.

The bundle's `BundleActivator stop` method is about to be called if the bundle has a bundle activator class. This event is only delivered to `SynchronousBundleListener` s. It is not delivered to `BundleListener`s.

Since:
  1.3
See Also:
  `Bundle.stop()`, Constant Field Values

#### LAZY_ACTIVATION

    public static final int LAZY_ACTIVATION

The bundle will be lazily activated.

The bundle has a `lazy activation policy` and is waiting to be activated. It is now in the `STARTING` state and has a valid `BundleContext`. This event is only delivered to `SynchronousBundleListener`s. It is not delivered to `BundleListener`s.

Since:
  1.4
See Also:
  Constant Field Values

### Constructor Detail

#### BundleEvent

    public BundleEvent(int type,
                       Bundle bundle,
                       Bundle origin)

Creates a bundle event of the specified type.

Parameters:
  `type` - The event type.
  `bundle` - The bundle which had a lifecycle change.
  `origin` - The bundle which is the origin of the event. For the event type `INSTALLED`, this is the bundle whose context was used to install the bundle. Otherwise it is the bundle itself.
Since:
  1.6

#### BundleEvent

    public BundleEvent(int type,
                       Bundle bundle)

Creates a bundle event of the specified type.

Parameters:
  `type` - The event type.
  `bundle` - The bundle which had a lifecycle change. This bundle is used as the origin of the event.

### Method Detail

#### getBundle

    public Bundle getBundle()

Returns the bundle which had a lifecycle change. This bundle is the source of the event.

Returns:
  The bundle that had a change occur in its lifecycle.

#### getType

    public int getType()

Returns the type of lifecyle event. The type values are:

- `INSTALLED`
- `RESOLVED`
- `LAZY_ACTIVATION`
- `STARTING`
- `STARTED`
- `STOPPING`
- `STOPPED`
- `UPDATED`
- `UNRESOLVED`
- `UNINSTALLED`

Returns:
  The type of lifecycle event.

#### getOrigin

    public Bundle getOrigin()

Returns the bundle that was the origin of the event.

For the event type `INSTALLED`, this is the bundle whose context was used to install the bundle. Otherwise it is the bundle itself.

Returns:
  The bundle that was the origin of the event.
Since:
  1.6