Class DelegatingReadOnlyMacroManager
- java.lang.Object
-
- com.atlassian.confluence.macro.xhtml.DelegatingReadOnlyMacroManager
-
- All Implemented Interfaces:
MacroManager
public class DelegatingReadOnlyMacroManager extends Object implements MacroManager
A Macro Manager which looks for named macros in an ordered manner through a list of delegate MacroManager's it maintains.
This MacroManager is read only and therefore the
registerMacro(String, Macro)
andunregisterMacro(String)
calls are not supported.
-
-
Constructor Summary
Constructors Constructor Description DelegatingReadOnlyMacroManager(List<MacroManager> delegateMacroManagers)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description com.atlassian.util.concurrent.LazyReference<Macro>
createLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor)
Deprecated.since 7.0.1.Macro
getMacroByName(String macroName)
Gives theMacro
registered with the given name, or null if there is none registered with the manager.void
registerMacro(String name, Macro macro)
Registers a new macro with the given name.void
unregisterMacro(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
-
Methods inherited from interface com.atlassian.confluence.macro.xhtml.MacroManager
newLazyMacroReference
-
-
-
-
Constructor Detail
-
DelegatingReadOnlyMacroManager
public DelegatingReadOnlyMacroManager(List<MacroManager> delegateMacroManagers)
-
-
Method Detail
-
getMacroByName
public Macro getMacroByName(String macroName)
Description copied from interface:MacroManager
Gives theMacro
registered with the given name, or null if there is none registered with the manager.- Specified by:
getMacroByName
in interfaceMacroManager
- Parameters:
macroName
- The macro to get.- Returns:
- The Macro, or null if there is none registered.
-
registerMacro
public void registerMacro(String name, 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 interfaceMacroManager
- Parameters:
name
- the name to register the macro under. For example, 'code'.macro
- the macro to register- Throws:
UnsupportedOperationException
-
unregisterMacro
public void unregisterMacro(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 interfaceMacroManager
- Parameters:
name
- the name of the macro to unregister. For example, 'code'.- Throws:
UnsupportedOperationException
-
createLazyMacroReference
@Deprecated public com.atlassian.util.concurrent.LazyReference<Macro> createLazyMacroReference(com.atlassian.plugin.ModuleDescriptor<?> moduleDescriptor)
Deprecated.since 7.0.1. UseMacroManager.newLazyMacroReference(ModuleDescriptor)
Description copied from interface:MacroManager
Macros are lazy loaded to avoid plugin module ordering problems like CONF-13386.- Specified by:
createLazyMacroReference
in 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
- Throws:
UnsupportedOperationException
-
-