com.atlassian.confluence.macro.xhtml
Class UserMacroPluginMacroManager

java.lang.Object
  extended by com.atlassian.confluence.macro.xhtml.UserMacroPluginMacroManager
All Implemented Interfaces:
MacroManager

public class UserMacroPluginMacroManager
extends java.lang.Object
implements MacroManager

A MacroManager responsible for keeping track of user macros loaded via the plugin subsystem. Listens for PluginModuleEnabledEvent and PluginModuleDisabledEvent to register GenericVelocityMacros with itself.

All macros will be wrapped in a LazyLoadingMacroWrapper.

Since:
4.0

Constructor Summary
UserMacroPluginMacroManager(com.atlassian.event.api.EventPublisher eventPublisher)
           
 
Method Summary
 com.atlassian.util.concurrent.LazyReference<Macro> createLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor)
          Macros are lazy loaded to avoid plugin module ordering problems like CONF-13386.
 Macro getMacroByName(java.lang.String macroName)
          Gives the Macro registered with the given name, or null if there is none registered with the manager.
 void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
           
 void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
           
 void registerMacro(java.lang.String name, Macro macro)
          Registers a new macro with the given name.
 void setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager)
           
 void unregisterMacro(java.lang.String name)
          Unregisters the macro with the given name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

UserMacroPluginMacroManager

public UserMacroPluginMacroManager(com.atlassian.event.api.EventPublisher eventPublisher)
Method Detail

getMacroByName

public Macro getMacroByName(@NotNull
                            java.lang.String macroName)
Description copied from interface: MacroManager
Gives the Macro registered with the given name, or null if there is none registered with the manager.

Specified by:
getMacroByName in interface MacroManager
Parameters:
macroName - The macro to get.
Returns:
The Macro, or null if there is none registered.

registerMacro

public void registerMacro(@NotNull
                          java.lang.String name,
                          @NotNull
                          Macro macro)
Description copied from interface: MacroManager
Registers a new macro with the given name. If a macro already exists with that name, it is replaced by the new macro.

Specified by:
registerMacro in interface MacroManager
Parameters:
name - the name to register the macro under. For example, 'code'.
macro - the macro to register

unregisterMacro

public void unregisterMacro(@NotNull
                            java.lang.String name)
Description copied from interface: MacroManager
Unregisters the macro with the given name. Does nothing if no such macro is registered.

Specified by:
unregisterMacro in interface MacroManager
Parameters:
name - the name of the macro to unregister. For example, 'code'.

pluginModuleEnabled

public void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)

pluginModuleDisabled

public void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)

createLazyMacroReference

public com.atlassian.util.concurrent.LazyReference<Macro> createLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor)
Description copied from interface: MacroManager
Macros are lazy loaded to avoid plugin module ordering problems like CONF-13386.

Specified by:
createLazyMacroReference in interface MacroManager
Parameters:
moduleDescriptor - describes the macro we are creating a lazy reference to.
Returns:
a LazyReference to a macro as described by the supplied ModuleDescriptor

setPluginEventManager

public void setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager)


Copyright © 2003-2013 Atlassian. All Rights Reserved.