com.atlassian.confluence.plugin
Class ConfluencePluginManager

java.lang.Object
  extended by com.atlassian.plugin.manager.DefaultPluginManager
      extended by com.atlassian.confluence.plugin.ConfluencePluginManager
All Implemented Interfaces:
com.atlassian.plugin.PluginAccessor, com.atlassian.plugin.PluginController, com.atlassian.plugin.PluginManager, com.atlassian.plugin.PluginSystemLifecycle, java.util.EventListener, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener
Direct Known Subclasses:
BootstrapPluginManager

public class ConfluencePluginManager
extends com.atlassian.plugin.manager.DefaultPluginManager
implements org.springframework.context.ApplicationListener, org.springframework.context.ApplicationContextAware, com.atlassian.plugin.PluginManager

Extension of DefaultPluginManager which listens for plugin events fired on other nodes.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.atlassian.plugin.PluginAccessor
com.atlassian.plugin.PluginAccessor.Descriptor
 
Field Summary
 
Fields inherited from interface com.atlassian.plugin.PluginManager
PLUGIN_DESCRIPTOR_FILENAME
 
Constructor Summary
ConfluencePluginManager(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, java.util.List<java.lang.Object> pluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager)
          If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.
 
Method Summary
protected  com.atlassian.plugin.manager.store.MemoryPluginPersistentStateStore getLocalPluginStateStore()
           
protected  com.atlassian.plugin.manager.PluginPersistentState getState()
           
 void init()
           
protected  void notifyModuleDisabled(com.atlassian.plugin.ModuleDescriptor<?> module)
           
protected  void notifyModuleEnabled(com.atlassian.plugin.ModuleDescriptor<?> module)
           
protected  void notifyPluginDisabled(com.atlassian.plugin.Plugin plugin)
           
protected  void notifyPluginEnabled(com.atlassian.plugin.Plugin plugin)
           
protected  void notifyUninstallPlugin(com.atlassian.plugin.Plugin plugin)
           
 void onApplicationEvent(org.springframework.context.ApplicationEvent event)
          Initialised the plugin system on receipt of a ConfluenceReadyEvent and update local plugin state on clustered plugin events
 void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
           
 void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
           
protected  void updatePlugin(com.atlassian.plugin.Plugin oldPlugin, com.atlassian.plugin.Plugin newPlugin)
           
 
Methods inherited from class com.atlassian.plugin.manager.DefaultPluginManager
addPlugin, addPlugins, disablePlugin, disablePluginInternal, disablePluginModule, disablePluginModuleState, disablePluginState, disablePluginWithoutPersisting, enablePlugin, enablePluginModule, enablePluginModuleState, enablePlugins, enablePluginState, getClassLoader, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, getStore, installPlugin, installPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin, onPluginContainerUnavailable, onPluginModuleAvailable, onPluginModuleUnavailable, onPluginRefresh, removeStateFromStore, revertRestartRequiredChange, scanForNewPlugins, setDescriptorParserFactory, setPluginInstaller, shutdown, uninstall, uninstallNoEvent, unloadPlugin, warmRestart
 
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.PluginController
disablePlugin, disablePluginModule, disablePluginWithoutPersisting, enablePlugin, enablePluginModule, enablePlugins, installPlugin, installPlugins, revertRestartRequiredChange, scanForNewPlugins, uninstall
 
Methods inherited from interface com.atlassian.plugin.PluginAccessor
getClassLoader, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin
 
Methods inherited from interface com.atlassian.plugin.PluginSystemLifecycle
shutdown, warmRestart
 

Constructor Detail

ConfluencePluginManager

public ConfluencePluginManager(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore,
                               java.util.List<java.lang.Object> pluginLoaders,
                               com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory,
                               com.atlassian.plugin.event.PluginEventManager pluginEventManager)
If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.

Parameters:
pluginStateStore - the storage for the plugin state
pluginLoaders - a list of plugin loaders to use
moduleDescriptorFactory - a factory used to create the module descriptors
pluginEventManager - the event manager used for plugins
Method Detail

getLocalPluginStateStore

protected com.atlassian.plugin.manager.store.MemoryPluginPersistentStateStore getLocalPluginStateStore()
Returns:
a writable memory implementation for storing local plugin state independent of other nodes in the cluster.

getState

protected com.atlassian.plugin.manager.PluginPersistentState getState()
Overrides:
getState in class com.atlassian.plugin.manager.DefaultPluginManager

notifyPluginEnabled

protected void notifyPluginEnabled(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyPluginEnabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyModuleDisabled

protected void notifyModuleDisabled(com.atlassian.plugin.ModuleDescriptor<?> module)
Overrides:
notifyModuleDisabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyPluginDisabled

protected void notifyPluginDisabled(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyPluginDisabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyModuleEnabled

protected void notifyModuleEnabled(com.atlassian.plugin.ModuleDescriptor<?> module)
Overrides:
notifyModuleEnabled in class com.atlassian.plugin.manager.DefaultPluginManager

notifyUninstallPlugin

protected void notifyUninstallPlugin(com.atlassian.plugin.Plugin plugin)
Overrides:
notifyUninstallPlugin in class com.atlassian.plugin.manager.DefaultPluginManager

updatePlugin

protected void updatePlugin(com.atlassian.plugin.Plugin oldPlugin,
                            com.atlassian.plugin.Plugin newPlugin)
                     throws com.atlassian.plugin.PluginException
Overrides:
updatePlugin in class com.atlassian.plugin.manager.DefaultPluginManager
Throws:
com.atlassian.plugin.PluginException

init

public void init()
          throws com.atlassian.plugin.PluginParseException
Specified by:
init in interface com.atlassian.plugin.PluginSystemLifecycle
Overrides:
init in class com.atlassian.plugin.manager.DefaultPluginManager
Throws:
com.atlassian.plugin.PluginParseException

onApplicationEvent

public void onApplicationEvent(org.springframework.context.ApplicationEvent event)
Initialised the plugin system on receipt of a ConfluenceReadyEvent and update local plugin state on clustered plugin events

Specified by:
onApplicationEvent in interface org.springframework.context.ApplicationListener
Parameters:
event - the event being notified

setEventPublisher

public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)

setApplicationContext

public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
                           throws org.springframework.beans.BeansException
Specified by:
setApplicationContext in interface org.springframework.context.ApplicationContextAware
Throws:
org.springframework.beans.BeansException


Copyright © 2003-2010 Atlassian. All Rights Reserved.