Class PluginModuleTrackerFactory

java.lang.Object
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

    Constructors
    Constructor
    Description
    PluginModuleTrackerFactory(com.atlassian.plugin.PluginAccessor pluginAccessor, com.atlassian.plugin.event.PluginEventManager pluginEventManager)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    <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 Details

    • PluginModuleTrackerFactory

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

    • 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