T
- The type of the tracked object.@ConsumerType
public interface BundleTrackerCustomizer<T>
BundleTrackerCustomizer
interface allows a BundleTracker
to customize the Bundle
s 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
BundleEvent
s 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.
Modifier and Type | Method and Description |
---|---|
T |
addingBundle(Bundle bundle,
BundleEvent event)
A bundle is being added to the
BundleTracker . |
void |
modifiedBundle(Bundle bundle,
BundleEvent event,
T object)
A bundle tracked by the
BundleTracker has been modified. |
void |
removedBundle(Bundle bundle,
BundleEvent event,
T object)
A bundle tracked by the
BundleTracker has been removed. |
T addingBundle(Bundle bundle, BundleEvent event)
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.
bundle
- The Bundle
being added to the BundleTracker
.event
- 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.Bundle
object
or null
if the specified Bundle
object should not
be tracked.void modifiedBundle(Bundle bundle, BundleEvent event, T object)
BundleTracker
has been modified.
This method is called when a bundle being tracked by the
BundleTracker
has had its state modified.
bundle
- The Bundle
whose state has been modified.event
- 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
- The tracked object for the specified bundle.void removedBundle(Bundle bundle, BundleEvent event, T object)
BundleTracker
has been removed.
This method is called after a bundle is no longer being tracked by the
BundleTracker
.
bundle
- The Bundle
that has been removed.event
- 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
- The tracked object for the specified bundle.Copyright © OSGi Alliance (2000, 2020). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0