Interface BundleTrackerCustomizer<T>
- 
- Type Parameters:
 T- The type of the tracked object.
- All Known Implementing Classes:
 BundleHookBundleTracker,BundleTracker,InternalRecursiveBundleTracker
@ConsumerType public interface BundleTrackerCustomizer<T>
TheBundleTrackerCustomizerinterface allows aBundleTrackerto customize theBundles that are tracked. ABundleTrackerCustomizeris called when a bundle is being added to aBundleTracker. TheBundleTrackerCustomizercan then return an object for the tracked bundle. ABundleTrackerCustomizeris also called when a tracked bundle is modified or has been removed from aBundleTracker.The methods in this interface may be called as the result of a
BundleEventbeing received by aBundleTracker. SinceBundleEvents are received synchronously by theBundleTracker, it is highly recommended that implementations of these methods do not alter bundle states while being synchronized on any object.The
BundleTrackerclass is thread-safe. It does not call aBundleTrackerCustomizerwhile holding any locks.BundleTrackerCustomizerimplementations must also be thread-safe.- Since:
 - 1.4
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TaddingBundle(Bundle bundle, BundleEvent event)A bundle is being added to theBundleTracker.voidmodifiedBundle(Bundle bundle, BundleEvent event, T object)A bundle tracked by theBundleTrackerhas been modified.voidremovedBundle(Bundle bundle, BundleEvent event, T object)A bundle tracked by theBundleTrackerhas been removed. 
 - 
 
- 
- 
Method Detail
- 
addingBundle
T addingBundle(Bundle bundle, BundleEvent event)
A bundle is being added to theBundleTracker.This method is called before a bundle which matched the search parameters of the
BundleTrackeris added to theBundleTracker. This method should return the object to be tracked for the specifiedBundle. The returned object is stored in theBundleTrackerand is available from thegetObjectmethod.- Parameters:
 bundle- TheBundlebeing added to theBundleTracker.event- The bundle event which caused this customizer method to be called ornullif there is no bundle event associated with the call to this method.- Returns:
 - The object to be tracked for the specified 
Bundleobject ornullif the specifiedBundleobject should not be tracked. 
 
- 
modifiedBundle
void modifiedBundle(Bundle bundle, BundleEvent event, T object)
A bundle tracked by theBundleTrackerhas been modified.This method is called when a bundle being tracked by the
BundleTrackerhas had its state modified.- Parameters:
 bundle- TheBundlewhose state has been modified.event- The bundle event which caused this customizer method to be called ornullif there is no bundle event associated with the call to this method.object- The tracked object for the specified bundle.
 
- 
removedBundle
void removedBundle(Bundle bundle, BundleEvent event, T object)
A bundle tracked by theBundleTrackerhas been removed.This method is called after a bundle is no longer being tracked by the
BundleTracker.- Parameters:
 bundle- TheBundlethat has been removed.event- The bundle event which caused this customizer method to be called ornullif there is no bundle event associated with the call to this method.object- The tracked object for the specified bundle.
 
 - 
 
 -