com.atlassian.jira.plugin.util
Class PluginModuleTrackerFactory

java.lang.Object
  extended by com.atlassian.jira.plugin.util.PluginModuleTrackerFactory

public class PluginModuleTrackerFactory
extends Object

Creates instances of a PluginModuleTracker using the DefaultPluginModuleTracker implementation.

Instances of PluginModuleTracker keep a cached set of module descriptors that is updated when plugins and plugin modules are enabled or disabled in the plugins system.

IMPORTANT: The set of descriptors returned by the plugin module trackers is a live list that is updated as plugins and plugin modules are enabled or disabled, it is not necessary to further cache the results obtained from a plugin module tracker.

Since:
v4.4
See Also:
PluginModuleTracker

Constructor Summary
PluginModuleTrackerFactory(com.atlassian.plugin.PluginAccessor pluginAccessor, com.atlassian.plugin.event.PluginEventManager pluginEventManager)
           
 
Method Summary
<M,D extends com.atlassian.plugin.ModuleDescriptor<M>>
com.atlassian.plugin.tracker.PluginModuleTracker<M,D>
create(Class<D> moduleDescriptorClass)
          Creates an instance of a plugin module tracker for the specified module descriptor class.
<M,D extends com.atlassian.plugin.ModuleDescriptor<M>>
com.atlassian.plugin.tracker.PluginModuleTracker<M,D>
create(Class<D> moduleDescriptorClass, com.atlassian.plugin.tracker.PluginModuleTracker.Customizer<M,D> pluginModuleTrackerCustomizer)
          Creates an instance of a plugin module tracker for the specified module descriptor class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginModuleTrackerFactory

public PluginModuleTrackerFactory(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                  com.atlassian.plugin.event.PluginEventManager pluginEventManager)
Method Detail

create

public <M,D extends com.atlassian.plugin.ModuleDescriptor<M>> com.atlassian.plugin.tracker.PluginModuleTracker<M,D> create(Class<D> moduleDescriptorClass)
Creates an instance of a plugin module tracker for the specified module descriptor class.

Type Parameters:
M - The module described by D.
D - The class module descriptor to be tracked.
Parameters:
moduleDescriptorClass - The module descriptor class to track.
Returns:
An instance of a plugin module tracker for the specified module descriptor class.

create

public <M,D extends com.atlassian.plugin.ModuleDescriptor<M>> com.atlassian.plugin.tracker.PluginModuleTracker<M,D> create(Class<D> moduleDescriptorClass,
                                                                                                                           com.atlassian.plugin.tracker.PluginModuleTracker.Customizer<M,D> pluginModuleTrackerCustomizer)

Creates an instance of a plugin module tracker for the specified module descriptor class.

It takes in a customizer that enables the calling code to perform additional operations when a plugin module is added or removed from the module tracker.

Type Parameters:
M - The module described by D.
D - The module descriptor to be tracked.
Parameters:
moduleDescriptorClass - The module descriptor class to track.
pluginModuleTrackerCustomizer - The customizer to use when module descriptors are added or removed from the module tracker.
Returns:
An instance of a plugin module tracker for the specified module descriptor class.
See Also:
PluginModuleTracker.Customizer


Copyright © 2002-2012 Atlassian. All Rights Reserved.