Class XhtmlMacroManager
- java.lang.Object
-
- com.atlassian.confluence.macro.xhtml.XhtmlMacroManager
-
- All Implemented Interfaces:
MacroManager
public class XhtmlMacroManager extends Object implements MacroManager
Listens for
PluginModuleEnabledEvent
andPluginModuleDisabledEvent
to registerMacro
s with itself.All macros will be wrapped in a
LazyLoadingMacroWrapper
and will have their resource path set if they areResourceAware
. If they are notResourceAware
then they will be wrapped in a dynamic proxy that does implement the interface (and the path will be set).- Since:
- 4.0
- See Also:
XhtmlMacroManager
-
-
Field Summary
Fields Modifier and Type Field Description static String
RESOURCE_PREFIX
-
Constructor Summary
Constructors Constructor Description XhtmlMacroManager(com.atlassian.event.api.EventPublisher eventPublisher)
-
Method Summary
All Methods Static 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(@NonNull String macroName)
Gives theMacro
registered with the given name, or null if there is none registered with the manager.Map<String,Macro>
getMacros()
void
pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
void
pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
void
registerMacro(@NonNull String name, @NonNull Macro macro)
Registers a new macro with the given name.void
setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager)
void
unregisterMacro(@NonNull String name)
Unregisters the macro with the given name.static Macro
unwrapMacroProxy(Macro proxy)
Unwraps a macro proxy that is wrapped with aXhtmlMacroManager.ResourceAwareMacroInvocationHandler
.-
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
-
-
-
-
Field Detail
-
RESOURCE_PREFIX
public static final String RESOURCE_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getMacroByName
public Macro getMacroByName(@NonNull 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(@NonNull String name, @NonNull 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
-
unregisterMacro
public void unregisterMacro(@NonNull 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'.
-
pluginModuleEnabled
public void pluginModuleEnabled(com.atlassian.plugin.event.events.PluginModuleEnabledEvent event)
-
pluginModuleDisabled
public void pluginModuleDisabled(com.atlassian.plugin.event.events.PluginModuleDisabledEvent event)
-
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
-
setPluginEventManager
public void setPluginEventManager(com.atlassian.plugin.event.PluginEventManager pluginEventManager)
-
unwrapMacroProxy
public static Macro unwrapMacroProxy(Macro proxy)
Unwraps a macro proxy that is wrapped with aXhtmlMacroManager.ResourceAwareMacroInvocationHandler
.If the macro is not proxied with this invocation handler then the passed in proxy is returned.
- Parameters:
proxy
- The proxy to unwrap- Returns:
- The proxied instance if it is using the
XhtmlMacroManager.ResourceAwareMacroInvocationHandler
-
-