Interface BundleTrackerCustomizer<T>
- Type Parameters:
T
- The type of the tracked object.
- All Known Implementing Classes:
BundleTracker
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.
- Since:
- 1.4
-
Method Summary
Modifier and TypeMethodDescriptionaddingBundle
(Bundle bundle, BundleEvent event) A bundle is being added to theBundleTracker
.void
modifiedBundle
(Bundle bundle, BundleEvent event, T object) A bundle tracked by theBundleTracker
has been modified.void
removedBundle
(Bundle bundle, BundleEvent event, T object) A bundle tracked by theBundleTracker
has been removed.
-
Method Details
-
addingBundle
A bundle is being added to theBundleTracker
.This method is called before a bundle which matched the search parameters of the
BundleTracker
is added to theBundleTracker
. This method should return the object to be tracked for the specifiedBundle
. The returned object is stored in theBundleTracker
and is available from thegetObject
method.- Parameters:
bundle
- TheBundle
being added to theBundleTracker
.event
- The bundle event which caused this customizer method to be called ornull
if there is no bundle event associated with the call to this method.- Returns:
- The object to be tracked for the specified
Bundle
object ornull
if the specifiedBundle
object should not be tracked.
-
modifiedBundle
A bundle tracked by theBundleTracker
has been modified.This method is called when a bundle being tracked by the
BundleTracker
has had its state modified.- Parameters:
bundle
- TheBundle
whose state has been modified.event
- The bundle event which caused this customizer method to be called ornull
if there is no bundle event associated with the call to this method.object
- The tracked object for the specified bundle.
-
removedBundle
A bundle tracked by theBundleTracker
has been removed.This method is called after a bundle is no longer being tracked by the
BundleTracker
.- Parameters:
bundle
- TheBundle
that has been removed.event
- The bundle event which caused this customizer method to be called ornull
if there is no bundle event associated with the call to this method.object
- The tracked object for the specified bundle.
-