Class UserMacroLibraryMacroManager
java.lang.Object
com.atlassian.confluence.macro.xhtml.UserMacroLibraryMacroManager
- All Implemented Interfaces:
MacroManager
An Xhtml MacroManager implementation that delegates to an encapsulated UserMacroLibrary. Therefore this MacroManager is aware of UI created User Macros only. User macros via plugins are a different proposition.
This manager is a read only facade onto the UserMacroLibrary and therefore any attempts to call
registerMacro(String, Macro) or unregisterMacro(String) will result in an
UnsupportedOperationException being thrown.
- Since:
- 4.0
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetMacroByName(String macroName) Gives theMacroregistered with the given name, or null if there is none registered with the manager.io.atlassian.util.concurrent.LazyReference<Macro> newLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor) Macros are lazy loaded to avoid plugin module ordering problems like CONF-13386.voidregisterMacro(String name, Macro macro) Registers a new macro with the given name.voidunregisterMacro(String name) Unregisters the macro with the given name.
-
Constructor Details
-
UserMacroLibraryMacroManager
-
-
Method Details
-
getMacroByName
Description copied from interface:MacroManagerGives theMacroregistered with the given name, or null if there is none registered with the manager.- Specified by:
getMacroByNamein interfaceMacroManager- Parameters:
macroName- The macro to get.- Returns:
- The Macro, or null if there is none registered.
-
registerMacro
Description copied from interface:MacroManagerRegisters a new macro with the given name. If a macro already exists with that name, it is replaced by the new macro.- Specified by:
registerMacroin interfaceMacroManager- Parameters:
name- the name to register the macro under. For example, 'code'.macro- the macro to register- Throws:
UnsupportedOperationException
-
unregisterMacro
Description copied from interface:MacroManagerUnregisters the macro with the given name. Does nothing if no such macro is registered.- Specified by:
unregisterMacroin interfaceMacroManager- Parameters:
name- the name of the macro to unregister. For example, 'code'.- Throws:
UnsupportedOperationException
-
newLazyMacroReference
public io.atlassian.util.concurrent.LazyReference<Macro> newLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor) Description copied from interface:MacroManagerMacros are lazy loaded to avoid plugin module ordering problems like CONF-13386.- Specified by:
newLazyMacroReferencein interfaceMacroManager- Parameters:
moduleDescriptor- describes the macro we are creating a lazy reference to.- Returns:
- a LazyReference to a macro as described by the supplied ModuleDescriptor
-