com.atlassian.confluence.plugin.cached
Class EnabledModuleCachingPluginAccessor

java.lang.Object
  extended by com.atlassian.confluence.plugin.cached.EnabledModuleCachingPluginAccessor
All Implemented Interfaces:
com.atlassian.plugin.PluginAccessor

public final class EnabledModuleCachingPluginAccessor
extends Object
implements com.atlassian.plugin.PluginAccessor

A caching decorator which caches getEnabledModuleDescriptorsByClass(Class) on PluginAccessor interface. Backported from plugins 2.7.0.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.plugin.PluginAccessor
com.atlassian.plugin.PluginAccessor.Descriptor
 
Field Summary
protected  com.atlassian.plugin.PluginAccessor delegate
           
 
Constructor Summary
EnabledModuleCachingPluginAccessor(com.atlassian.plugin.PluginAccessor delegate, com.atlassian.plugin.event.PluginEventManager pluginEventManager)
           
 
Method Summary
static
<M,T extends com.atlassian.plugin.ModuleDescriptor<M>>
com.atlassian.plugin.tracker.PluginModuleTracker<M,T>
create(com.atlassian.plugin.PluginAccessor pluginAccessor, com.atlassian.plugin.event.PluginEventManager pluginEventManager, Class<? extends com.atlassian.plugin.ModuleDescriptor<?>> moduleDescriptorClass)
          Static factory method for constructing trackers generically where M is not known.
 ClassLoader getClassLoader()
           
 Class<?> getDynamicPluginClass(String className)
           
 InputStream getDynamicResourceAsStream(String resourcePath)
           
<D extends com.atlassian.plugin.ModuleDescriptor<?>>
List<D>
getEnabledModuleDescriptorsByClass(Class<D> descriptorClazz)
           
<D extends com.atlassian.plugin.ModuleDescriptor<?>>
List<D>
getEnabledModuleDescriptorsByClass(Class<D> descriptorClazz, boolean verbose)
           
<M> List<com.atlassian.plugin.ModuleDescriptor<M>>
getEnabledModuleDescriptorsByType(String type)
           
<M> List<M>
getEnabledModulesByClass(Class<M> moduleClass)
           
<M> List<M>
getEnabledModulesByClassAndDescriptor(Class<com.atlassian.plugin.ModuleDescriptor<M>>[] descriptorClazz, Class<M> moduleClass)
           
<M> List<M>
getEnabledModulesByClassAndDescriptor(Class<com.atlassian.plugin.ModuleDescriptor<M>> descriptorClass, Class<M> moduleClass)
           
 com.atlassian.plugin.Plugin getEnabledPlugin(String pluginKey)
           
 com.atlassian.plugin.ModuleDescriptor<?> getEnabledPluginModule(String completeKey)
           
 Collection<com.atlassian.plugin.Plugin> getEnabledPlugins()
           
<M> Collection<com.atlassian.plugin.ModuleDescriptor<M>>
getModuleDescriptors(com.atlassian.plugin.predicate.ModuleDescriptorPredicate<M> moduleDescriptorPredicate)
           
<M> Collection<M>
getModules(com.atlassian.plugin.predicate.ModuleDescriptorPredicate<M> moduleDescriptorPredicate)
           
 com.atlassian.plugin.Plugin getPlugin(String key)
           
 com.atlassian.plugin.ModuleDescriptor<?> getPluginModule(String completeKey)
           
 InputStream getPluginResourceAsStream(String pluginKey, String resourcePath)
           
 com.atlassian.plugin.PluginRestartState getPluginRestartState(String key)
           
 Collection<com.atlassian.plugin.Plugin> getPlugins()
           
 Collection<com.atlassian.plugin.Plugin> getPlugins(com.atlassian.plugin.predicate.PluginPredicate pluginPredicate)
           
 boolean isPluginEnabled(String key)
           
 boolean isPluginModuleEnabled(String completeKey)
           
 boolean isSystemPlugin(String key)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.atlassian.plugin.PluginAccessor
getClassLoader, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin
 

Field Detail

delegate

protected final com.atlassian.plugin.PluginAccessor delegate
Constructor Detail

EnabledModuleCachingPluginAccessor

public EnabledModuleCachingPluginAccessor(com.atlassian.plugin.PluginAccessor delegate,
                                          com.atlassian.plugin.event.PluginEventManager pluginEventManager)
Method Detail

getEnabledModuleDescriptorsByClass

public <D extends com.atlassian.plugin.ModuleDescriptor<?>> List<D> getEnabledModuleDescriptorsByClass(Class<D> descriptorClazz)
Specified by:
getEnabledModuleDescriptorsByClass in interface com.atlassian.plugin.PluginAccessor

create

public static <M,T extends com.atlassian.plugin.ModuleDescriptor<M>> com.atlassian.plugin.tracker.PluginModuleTracker<M,T> create(com.atlassian.plugin.PluginAccessor pluginAccessor,
                                                                                                                                  com.atlassian.plugin.event.PluginEventManager pluginEventManager,
                                                                                                                                  Class<? extends com.atlassian.plugin.ModuleDescriptor<?>> moduleDescriptorClass)
Static factory method for constructing trackers generically where M is not known.

Type Parameters:
M - The module class, generically inferred.
T - The module descriptor class.
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 up to date caching of the currently enabled module descriptors.
Since:
2.7.0

getClassLoader

public ClassLoader getClassLoader()
Specified by:
getClassLoader in interface com.atlassian.plugin.PluginAccessor

getDynamicResourceAsStream

public InputStream getDynamicResourceAsStream(String resourcePath)
Specified by:
getDynamicResourceAsStream in interface com.atlassian.plugin.PluginAccessor

getEnabledModulesByClass

public <M> List<M> getEnabledModulesByClass(Class<M> moduleClass)
Specified by:
getEnabledModulesByClass in interface com.atlassian.plugin.PluginAccessor

getEnabledPlugin

public com.atlassian.plugin.Plugin getEnabledPlugin(String pluginKey)
                                             throws IllegalArgumentException
Specified by:
getEnabledPlugin in interface com.atlassian.plugin.PluginAccessor
Throws:
IllegalArgumentException

getEnabledPluginModule

public com.atlassian.plugin.ModuleDescriptor<?> getEnabledPluginModule(String completeKey)
Specified by:
getEnabledPluginModule in interface com.atlassian.plugin.PluginAccessor

getEnabledPlugins

public Collection<com.atlassian.plugin.Plugin> getEnabledPlugins()
Specified by:
getEnabledPlugins in interface com.atlassian.plugin.PluginAccessor

getModuleDescriptors

public <M> Collection<com.atlassian.plugin.ModuleDescriptor<M>> getModuleDescriptors(com.atlassian.plugin.predicate.ModuleDescriptorPredicate<M> moduleDescriptorPredicate)
Specified by:
getModuleDescriptors in interface com.atlassian.plugin.PluginAccessor

getModules

public <M> Collection<M> getModules(com.atlassian.plugin.predicate.ModuleDescriptorPredicate<M> moduleDescriptorPredicate)
Specified by:
getModules in interface com.atlassian.plugin.PluginAccessor

getPlugin

public com.atlassian.plugin.Plugin getPlugin(String key)
                                      throws IllegalArgumentException
Specified by:
getPlugin in interface com.atlassian.plugin.PluginAccessor
Throws:
IllegalArgumentException

getPluginModule

public com.atlassian.plugin.ModuleDescriptor<?> getPluginModule(String completeKey)
Specified by:
getPluginModule in interface com.atlassian.plugin.PluginAccessor

getPluginRestartState

public com.atlassian.plugin.PluginRestartState getPluginRestartState(String key)
Specified by:
getPluginRestartState in interface com.atlassian.plugin.PluginAccessor

getPlugins

public Collection<com.atlassian.plugin.Plugin> getPlugins()
Specified by:
getPlugins in interface com.atlassian.plugin.PluginAccessor

getPlugins

public Collection<com.atlassian.plugin.Plugin> getPlugins(com.atlassian.plugin.predicate.PluginPredicate pluginPredicate)
Specified by:
getPlugins in interface com.atlassian.plugin.PluginAccessor

isPluginEnabled

public boolean isPluginEnabled(String key)
                        throws IllegalArgumentException
Specified by:
isPluginEnabled in interface com.atlassian.plugin.PluginAccessor
Throws:
IllegalArgumentException

isPluginModuleEnabled

public boolean isPluginModuleEnabled(String completeKey)
Specified by:
isPluginModuleEnabled in interface com.atlassian.plugin.PluginAccessor

isSystemPlugin

public boolean isSystemPlugin(String key)
Specified by:
isSystemPlugin in interface com.atlassian.plugin.PluginAccessor

getDynamicPluginClass

public Class<?> getDynamicPluginClass(String className)
                               throws ClassNotFoundException
Specified by:
getDynamicPluginClass in interface com.atlassian.plugin.PluginAccessor
Throws:
ClassNotFoundException

getEnabledModuleDescriptorsByClass

public <D extends com.atlassian.plugin.ModuleDescriptor<?>> List<D> getEnabledModuleDescriptorsByClass(Class<D> descriptorClazz,
                                                                                                       boolean verbose)
Specified by:
getEnabledModuleDescriptorsByClass in interface com.atlassian.plugin.PluginAccessor

getEnabledModuleDescriptorsByType

public <M> List<com.atlassian.plugin.ModuleDescriptor<M>> getEnabledModuleDescriptorsByType(String type)
                                                                                 throws com.atlassian.plugin.PluginParseException
Specified by:
getEnabledModuleDescriptorsByType in interface com.atlassian.plugin.PluginAccessor
Throws:
com.atlassian.plugin.PluginParseException

getEnabledModulesByClassAndDescriptor

public <M> List<M> getEnabledModulesByClassAndDescriptor(Class<com.atlassian.plugin.ModuleDescriptor<M>> descriptorClass,
                                                         Class<M> moduleClass)
Specified by:
getEnabledModulesByClassAndDescriptor in interface com.atlassian.plugin.PluginAccessor

getEnabledModulesByClassAndDescriptor

public <M> List<M> getEnabledModulesByClassAndDescriptor(Class<com.atlassian.plugin.ModuleDescriptor<M>>[] descriptorClazz,
                                                         Class<M> moduleClass)
Specified by:
getEnabledModulesByClassAndDescriptor in interface com.atlassian.plugin.PluginAccessor

getPluginResourceAsStream

public InputStream getPluginResourceAsStream(String pluginKey,
                                             String resourcePath)
Specified by:
getPluginResourceAsStream in interface com.atlassian.plugin.PluginAccessor


Copyright © 2003-2012 Atlassian. All Rights Reserved.