public class BundleHookBundleTracker<T>
extends org.osgi.util.tracker.BundleTracker
| Constructor and Description |
|---|
BundleHookBundleTracker(org.osgi.framework.BundleContext context,
int stateMask,
org.osgi.util.tracker.BundleTrackerCustomizer customizer)
Create a
BundleTracker for bundles whose state is present in the
specified state mask. |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
addingBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event)
Default implementation of the
BundleTrackerCustomizer.addingBundle method. |
void |
close()
Close this
BundleTracker. |
org.osgi.framework.Bundle[] |
getBundles()
Return an array of
Bundles for all bundles being tracked by this
BundleTracker. |
T |
getObject(org.osgi.framework.Bundle bundle)
Returns the customized object for the specified
Bundle if the
specified bundle is being tracked by this BundleTracker. |
java.util.Map<org.osgi.framework.Bundle,T> |
getTracked()
Return a
Map with the Bundles and customized objects for
all bundles being tracked by this BundleTracker. |
int |
getTrackingCount()
Returns the tracking count for this
BundleTracker. |
boolean |
isEmpty()
Return if this
BundleTracker is empty. |
void |
modifiedBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event,
java.lang.Object object)
Default implementation of the
BundleTrackerCustomizer.modifiedBundle method. |
void |
open()
Open this
BundleTracker and begin tracking bundles. |
void |
remove(org.osgi.framework.Bundle bundle)
Remove a bundle from this
BundleTracker. |
void |
removedBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event,
java.lang.Object object)
Default implementation of the
BundleTrackerCustomizer.removedBundle method. |
int |
size()
Return the number of bundles being tracked by this
BundleTracker. |
public BundleHookBundleTracker(org.osgi.framework.BundleContext context,
int stateMask,
org.osgi.util.tracker.BundleTrackerCustomizer customizer)
BundleTracker for bundles whose state is present in the
specified state mask.
Bundles whose state is present on the specified state mask will be
tracked by this BundleTracker.
context - The BundleContext against which the tracking is
done.stateMask - The bit mask of the ORing of the bundle states
to be tracked.customizer - The customizer object to call when bundles are added,
modified, or removed in this BundleTracker. If customizer
is null, then this BundleTracker will be used as
the BundleTrackerCustomizer and this BundleTracker
will call the BundleTrackerCustomizer methods on itself.Bundle.getState()public void open()
BundleTracker and begin tracking bundles.
Bundle which match the state criteria specified when this
BundleTracker was created are now tracked by this
BundleTracker.
open in class org.osgi.util.tracker.BundleTrackerjava.lang.IllegalStateException - If the BundleContext with
which this BundleTracker was created is no longer valid.java.lang.SecurityException - If the caller and this class do not
have the appropriate
AdminPermission[context bundle,LISTENER], and the Java
Runtime Environment supports permissions.public void close()
BundleTracker.
This method should be called when this BundleTracker should end
the tracking of bundles.
This implementation calls getBundles() to get the list of
tracked bundles to remove.
close in class org.osgi.util.tracker.BundleTrackerpublic java.lang.Object addingBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event)
BundleTrackerCustomizer.addingBundle method.
This method is only called when this BundleTracker has been
constructed with a null BundleTrackerCustomizer argument.
This implementation simply returns the specified Bundle.
This method can be overridden in a subclass to customize the object to be tracked for the bundle being added.
addingBundle in interface org.osgi.util.tracker.BundleTrackerCustomizeraddingBundle in class org.osgi.util.tracker.BundleTrackerbundle - The Bundle being added to this
BundleTracker object.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.BundleTrackerCustomizer.addingBundle(Bundle, BundleEvent)public void modifiedBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event,
java.lang.Object object)
BundleTrackerCustomizer.modifiedBundle method.
This method is only called when this BundleTracker has been
constructed with a null BundleTrackerCustomizer argument.
This implementation does nothing.
modifiedBundle in interface org.osgi.util.tracker.BundleTrackerCustomizermodifiedBundle in class org.osgi.util.tracker.BundleTrackerbundle - 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 customized object for the specified Bundle.BundleTrackerCustomizer.modifiedBundle(Bundle, BundleEvent, Object)public void removedBundle(org.osgi.framework.Bundle bundle,
org.osgi.framework.BundleEvent event,
java.lang.Object object)
BundleTrackerCustomizer.removedBundle method.
This method is only called when this BundleTracker has been
constructed with a null BundleTrackerCustomizer argument.
This implementation does nothing.
removedBundle in interface org.osgi.util.tracker.BundleTrackerCustomizerremovedBundle in class org.osgi.util.tracker.BundleTrackerbundle - The Bundle being 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 customized object for the specified bundle.BundleTrackerCustomizer.removedBundle(Bundle, BundleEvent, Object)public org.osgi.framework.Bundle[] getBundles()
Bundles for all bundles being tracked by this
BundleTracker.getBundles in class org.osgi.util.tracker.BundleTrackerBundles or null if no bundles are
being tracked.public T getObject(org.osgi.framework.Bundle bundle)
Bundle if the
specified bundle is being tracked by this BundleTracker.getObject in class org.osgi.util.tracker.BundleTrackerbundle - The Bundle being tracked.Bundle or
null if the specified Bundle is not being
tracked.public void remove(org.osgi.framework.Bundle bundle)
BundleTracker.
The specified bundle will be removed from this BundleTracker . If
the specified bundle was being tracked then the
BundleTrackerCustomizer.removedBundle method will be called for
that bundle.remove in class org.osgi.util.tracker.BundleTrackerbundle - The Bundle to be removed.public int size()
BundleTracker.size in class org.osgi.util.tracker.BundleTrackerpublic int getTrackingCount()
BundleTracker.
The tracking count is initialized to 0 when this BundleTracker is
opened. Every time a bundle is added, modified or removed from this
BundleTracker the tracking count is incremented.
The tracking count can be used to determine if this BundleTracker
has added, modified or removed a bundle by comparing a tracking count
value previously collected with the current tracking count value. If the
value has not changed, then no bundle has been added, modified or removed
from this BundleTracker since the previous tracking count was
collected.
getTrackingCount in class org.osgi.util.tracker.BundleTrackerBundleTracker or -1 if this
BundleTracker is not open.public java.util.Map<org.osgi.framework.Bundle,T> getTracked()
Map with the Bundles and customized objects for
all bundles being tracked by this BundleTracker.getTracked in class org.osgi.util.tracker.BundleTrackerMap with the Bundles and customized objects for
all services being tracked by this BundleTracker. If no
bundles are being tracked, then the returned map is empty.public boolean isEmpty()
BundleTracker is empty.isEmpty in class org.osgi.util.tracker.BundleTrackertrue if this BundleTracker is not tracking any
bundles.Copyright © 2010 - 2023 Adobe. All Rights Reserved