public class UserMacroPluginMacroManager extends Object implements MacroManager
A MacroManager responsible for keeping track of user macros loaded via the plugin subsystem. Listens for
PluginModuleEnabledEvent
and
PluginModuleDisabledEvent
to register
GenericVelocityMacro
s with itself.
All macros will be wrapped in a LazyLoadingMacroWrapper
.
Constructor and Description |
---|
UserMacroPluginMacroManager(com.atlassian.event.api.EventPublisher eventPublisher) |
Modifier and Type | Method and Description |
---|---|
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(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(String name,
Macro macro)
Registers a new macro with the given name.
|
void |
setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager) |
void |
unregisterMacro(String name)
Unregisters the macro with the given name.
|
public UserMacroPluginMacroManager(com.atlassian.event.api.EventPublisher eventPublisher)
public Macro getMacroByName(@Nonnull String macroName)
MacroManager
Macro
registered with the
given name, or null if there is none registered with the manager.getMacroByName
in interface MacroManager
macroName
- The macro to get.public void registerMacro(@Nonnull String name, @Nonnull Macro macro)
MacroManager
registerMacro
in interface MacroManager
name
- the name to register the macro under. For example, 'code'.macro
- the macro to registerpublic void unregisterMacro(@Nonnull String name)
MacroManager
unregisterMacro
in interface MacroManager
name
- the name of the macro to unregister. For example, 'code'.public void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
public void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
public com.atlassian.util.concurrent.LazyReference<Macro> createLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor)
MacroManager
createLazyMacroReference
in interface MacroManager
moduleDescriptor
- describes the macro we are creating a lazy reference to.public void setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager)
Copyright © 2003–2017 Atlassian. All rights reserved.