public class

DefaultPluginModuleTracker

extends Object
implements PluginModuleTracker<M, T extends ModuleDescriptor<M>>
java.lang.Object
   ↳ com.atlassian.plugin.tracker.DefaultPluginModuleTracker<M, T extends com.atlassian.plugin.ModuleDescriptor<M>>

Class Overview

Tracks enabled plugin module descriptors, focusing on fast reads

Summary

Public Constructors
DefaultPluginModuleTracker(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<T> moduleDescriptorClass)
DefaultPluginModuleTracker(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<T> moduleDescriptorClass, Customizer<M, T> pluginModuleTrackerCustomizer)
Public Methods
void close()
Closes the tracker.
static <M, T extends ModuleDescriptor<M>> PluginModuleTracker<M, T> create(PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<? extends ModuleDescriptor<?>> moduleDescriptorClass)
Static factory method for constructing trackers generically where M is not known.
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()
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.plugin.tracker.PluginModuleTracker

Public Constructors

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

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

Public Methods

public void close ()

Closes the tracker. Ensure you call this, or you may cause a memory leak.

public static PluginModuleTracker<M, T> create (PluginAccessor pluginAccessor, PluginEventManager pluginEventManager, Class<? extends ModuleDescriptor<?>> moduleDescriptorClass)

Static factory method for constructing trackers generically where M is not known.

Parameters
pluginAccessor For getting the enabled descriptors of a certain type.
pluginEventManager For being told about changes to the enabled plugins.
moduleDescriptorClass The type of module descriptors we are interested in.
Returns
  • a PluginModuleTracker useful for fast and upd to date caching of the currently enabled module descriptors.

public Iterable<T> getModuleDescriptors ()

public Iterable<M> getModules ()

Gets a snapshot of the currently tracked enabled module instances

Returns
  • The module instances

public void onPluginDisabled (PluginDisabledEvent event)

public void onPluginModuleDisabled (PluginModuleDisabledEvent event)

public void onPluginModuleEnabled (PluginModuleEnabledEvent event)

public int size ()