com.atlassian.plugin.tracker
Class DefaultPluginModuleTracker<M,T extends ModuleDescriptor<M>>

java.lang.Object
  extended by com.atlassian.plugin.tracker.DefaultPluginModuleTracker<M,T>
All Implemented Interfaces:
PluginModuleTracker<M,T>

public class DefaultPluginModuleTracker<M,T extends ModuleDescriptor<M>>
extends Object
implements PluginModuleTracker<M,T>

Tracks enabled plugin module descriptors, focusing on fast reads

Since:
2.6.0

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.plugin.tracker.PluginModuleTracker
PluginModuleTracker.Customizer<M,T extends ModuleDescriptor<M>>
 
Constructor Summary
DefaultPluginModuleTracker(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<T> moduleDescriptorClass)
           
DefaultPluginModuleTracker(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<T> moduleDescriptorClass, PluginModuleTracker.Customizer<M,T> pluginModuleTrackerCustomizer)
           
 
Method Summary
 void close()
          Closes the tracker.
 Iterable<T> getModuleDescriptors()
           
 Iterable<M> getModules()
          Gets a snapshot of the currently tracked enabled module instances
 void onPluginDisabled(PluginDisabledEvent event)
           
 void onPluginModuleDisabled(PluginModuleDisabledEvent event)
           
 void onPluginModuleEnabled(PluginModuleEnabledEvent event)
           
 int size()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultPluginModuleTracker

public DefaultPluginModuleTracker(PluginAccessor pluginAccessor,
                                  PluginEventManager pluginEventManager,
                                  Class<T> moduleDescriptorClass)

DefaultPluginModuleTracker

public DefaultPluginModuleTracker(PluginAccessor pluginAccessor,
                                  PluginEventManager pluginEventManager,
                                  Class<T> moduleDescriptorClass,
                                  PluginModuleTracker.Customizer<M,T> pluginModuleTrackerCustomizer)
Method Detail

getModuleDescriptors

public Iterable<T> getModuleDescriptors()
Specified by:
getModuleDescriptors in interface PluginModuleTracker<M,T extends ModuleDescriptor<M>>
Returns:
a snapshot of the currently tracked enabled module descriptors

getModules

public Iterable<M> getModules()
Description copied from interface: PluginModuleTracker
Gets a snapshot of the currently tracked enabled module instances

Specified by:
getModules in interface PluginModuleTracker<M,T extends ModuleDescriptor<M>>
Returns:
The module instances

size

public int size()
Specified by:
size in interface PluginModuleTracker<M,T extends ModuleDescriptor<M>>
Returns:
The number of module descriptors currently tracked. Should only be used for reporting purposes as it only reflects the size at exactly the calling time.

close

public void close()
Description copied from interface: PluginModuleTracker
Closes the tracker. Ensure you call this, or you may cause a memory leak.

Specified by:
close in interface PluginModuleTracker<M,T extends ModuleDescriptor<M>>

onPluginModuleEnabled

public void onPluginModuleEnabled(PluginModuleEnabledEvent event)

onPluginModuleDisabled

public void onPluginModuleDisabled(PluginModuleDisabledEvent event)

onPluginDisabled

public void onPluginDisabled(PluginDisabledEvent event)


Copyright © 2011 Atlassian. All Rights Reserved.