Package 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
Modifier and Type
Field
Description
`static final int`
`INSTALLED`
The bundle has been installed.
`static final int`
`LAZY_ACTIVATION`
The bundle will be lazily activated.
`static final int`
`RESOLVED`
The bundle has been resolved.
`static final int`
`STARTED`
The bundle has been started.
`static final int`
`STARTING`
The bundle is about to be activated.
`static final int`
`STOPPED`
The bundle has been stopped.
`static final int`
`STOPPING`
The bundle is about to deactivated.
`static final int`
`UNINSTALLED`
The bundle has been uninstalled.
`static final int`
`UNRESOLVED`
The bundle has been unresolved.
`static final int`
`UPDATED`
The bundle has been updated.

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

`source`

## Constructor Summary

Constructors
Constructor
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

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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 Details

### 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