public class

DelegatingReadOnlyMacroManager

extends Object
implements MacroManager
java.lang.Object
   ↳ com.atlassian.confluence.macro.xhtml.DelegatingReadOnlyMacroManager

Class Overview

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) and unregisterMacro(String) calls are not supported.

Summary

Public Constructors
DelegatingReadOnlyMacroManager(List<MacroManager> delegateMacroManagers)
Public Methods
LazyReference<Macro> createLazyMacroReference(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 registerMacro(String name, Macro macro)
Registers a new macro with the given name.
void unregisterMacro(String name)
Unregisters the macro with the given name.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.confluence.macro.xhtml.MacroManager

Public Constructors

public DelegatingReadOnlyMacroManager (List<MacroManager> delegateMacroManagers)

Public Methods

public LazyReference<Macro> createLazyMacroReference (ModuleDescriptor<?> moduleDescriptor)

Macros are lazy loaded to avoid plugin module ordering problems like CONF-13386.

Parameters
moduleDescriptor describes the macro we are creating a lazy reference to.
Returns
  • a LazyReference to a macro as described by the supplied ModuleDescriptor

public Macro getMacroByName (String macroName)

Gives the Macro registered with the given name, or null if there is none registered with the manager.

Parameters
macroName The macro to get.
Returns
  • The Macro, or null if there is none registered.

public void registerMacro (String name, Macro macro)

Registers a new macro with the given name. If a macro already exists with that name, it is replaced by the new macro.

Parameters
name the name to register the macro under. For example, 'code'.
macro the macro to register

public void unregisterMacro (String name)

Unregisters the macro with the given name. Does nothing if no such macro is registered.

Parameters
name the name of the macro to unregister. For example, 'code'.