Class RuntimeMacro

  • All Implemented Interfaces:
    Cloneable

    @Deprecated
    public class RuntimeMacro
    extends Directive
    Deprecated.
    for removal in PMD 7.0.0
    This class acts as a proxy for potential macros. When the AST is built this class is inserted as a placeholder for the macro (whether or not the macro is actually defined). At render time we check whether there is a implementation for the macro call. If an implementation cannot be found the literal text is rendered.
    Since:
    1.6
    • Constructor Detail

      • RuntimeMacro

        public RuntimeMacro​(String macroName)
        Deprecated.
        Create a RuntimeMacro instance. Macro name and source template stored for later use.
        Parameters:
        macroName - name of the macro
    • Method Detail

      • getName

        public String getName()
        Deprecated.
        Return name of this Velocimacro.
        Specified by:
        getName in class Directive
        Returns:
        The name of this Velocimacro.
      • getScopeName

        public String getScopeName()
        Deprecated.
        Override to always return "macro". We don't want to use the macro name here, since when writing VTL that uses the scope, we are within a #macro call. The macro name will instead be used as the scope name when defining the body of a BlockMacro.
        Overrides:
        getScopeName in class Directive
        Returns:
        the name to be used when a scope control is provided for this directive.
      • getType

        public int getType()
        Deprecated.
        Velocimacros are always LINE type directives.
        Specified by:
        getType in class Directive
        Returns:
        The type of this directive.