com.atlassian.confluence.macro.xhtml
Class DelegatingReadOnlyMacroManager

java.lang.Object
  extended by 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) and unregisterMacro(String) calls are not supported.


Constructor Summary
DelegatingReadOnlyMacroManager(List<MacroManager> delegateMacroManagers)
           
 
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(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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingReadOnlyMacroManager

public DelegatingReadOnlyMacroManager(List<MacroManager> delegateMacroManagers)
Method Detail

getMacroByName

public Macro getMacroByName(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(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 interface MacroManager
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 interface MacroManager
Parameters:
name - the name of the macro to unregister. For example, 'code'.
Throws:
UnsupportedOperationException

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
Throws:
UnsupportedOperationException


Copyright © 2003-2012 Atlassian. All Rights Reserved.