Top Description Methods
org.osgi.util.tracker

public Interface BundleTrackerCustomizer<T>

Known Direct Implementers
org.osgi.util.tracker.BundleTracker
Annotations
@ConsumerType
Type Parameters
<T>
The type of the tracked object.
Imports
org.osgi.annotation.versioning.ConsumerType, org.osgi.framework.Bundle, .BundleEvent

The BundleTrackerCustomizer interface allows a BundleTracker to customize the Bundles that are tracked. A BundleTrackerCustomizer is called when a bundle is being added to a BundleTracker. The BundleTrackerCustomizer can then return an object for the tracked bundle. A BundleTrackerCustomizer is also called when a tracked bundle is modified or has been removed from a BundleTracker.

The methods in this interface may be called as the result of a BundleEvent being received by a BundleTracker. Since BundleEvents are received synchronously by the BundleTracker, it is highly recommended that implementations of these methods do not alter bundle states while being synchronized on any object.

The BundleTracker class is thread-safe. It does not call a BundleTrackerCustomizer while holding any locks. BundleTrackerCustomizer implementations must also be thread-safe.

Author
$Id: f2733a974918984537676e30a7a96e7056244d98 $
Since
1.4

Method Summary

Modifier and TypeMethod and Description
public T

Returns:

The object to be tracked for the specified Bundle object or null if the specified Bundle object should not be tracked.
addingBundle
(Bundle
The Bundle being added to the BundleTracker .
bundle
,
BundleEvent
The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.
event
)

A bundle is being added to the BundleTracker.

public void
modifiedBundle(Bundle
The Bundle whose state has been modified.
bundle
,
BundleEvent
The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.
event
,
T
The tracked object for the specified bundle.
object
)

A bundle tracked by the BundleTracker has been modified.

public void
removedBundle(Bundle
The Bundle that has been removed.
bundle
,
BundleEvent
The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.
event
,
T
The tracked object for the specified bundle.
object
)

A bundle tracked by the BundleTracker has been removed.

Method Detail

addingBundleback to summary
public T addingBundle(Bundle bundle, BundleEvent event)

A bundle is being added to the BundleTracker.

This method is called before a bundle which matched the search parameters of the BundleTracker is added to the BundleTracker. This method should return the object to be tracked for the specified Bundle. The returned object is stored in the BundleTracker and is available from the getObject method.

Parameters
bundle:Bundle

The Bundle being added to the BundleTracker .

event:BundleEvent

The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.

Returns:T

The object to be tracked for the specified Bundle object or null if the specified Bundle object should not be tracked.

modifiedBundleback to summary
public void modifiedBundle(Bundle bundle, BundleEvent event, T object)

A bundle tracked by the BundleTracker has been modified.

This method is called when a bundle being tracked by the BundleTracker has had its state modified.

Parameters
bundle:Bundle

The Bundle whose state has been modified.

event:BundleEvent

The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.

object:T

The tracked object for the specified bundle.

removedBundleback to summary
public void removedBundle(Bundle bundle, BundleEvent event, T object)

A bundle tracked by the BundleTracker has been removed.

This method is called after a bundle is no longer being tracked by the BundleTracker.

Parameters
bundle:Bundle

The Bundle that has been removed.

event:BundleEvent

The bundle event which caused this customizer method to be called or null if there is no bundle event associated with the call to this method.

object:T

The tracked object for the specified bundle.