Class UserMacroLibraryMacroManager

  • All Implemented Interfaces:
    MacroManager

    public class UserMacroLibraryMacroManager
    extends Object
    implements 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:
    UserMacroLibrary
    • Constructor Detail

      • UserMacroLibraryMacroManager

        public UserMacroLibraryMacroManager​(UserMacroLibrary userMacroLibrary)
    • 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