Class VelocimacroProxy

  • All Implemented Interfaces:
    java.lang.Cloneable, DirectiveConstants

    public class VelocimacroProxy
    extends Directive
    VelocimacroProxy.java a proxy Directive-derived object to fit with the current directive system
    Version:
    $Id: VelocimacroProxy.java 898032 2010-01-11 19:51:03Z nbubna $
    Author:
    Geir Magnusson Jr.
    • Constructor Detail

      • VelocimacroProxy

        public VelocimacroProxy()
    • Method Detail

      • getName

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

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

        public void setName​(java.lang.String name)
        sets the directive name of this VM
        Parameters:
        name -
      • setArgArray

        public void setArgArray​(java.lang.String[] arr)
        sets the array of arguments specified in the macro definition
        Parameters:
        arr -
      • setNodeTree

        public void setNodeTree​(SimpleNode tree)
        Parameters:
        tree -
      • getNumArgs

        public int getNumArgs()
        returns the number of ars needed for this VM
        Returns:
        The number of ars needed for this VM
      • init

        public void init​(RuntimeServices rs)
        Initialize members of VelocimacroProxy. called from MacroEntry
      • checkArgs

        public void checkArgs​(InternalContextAdapter context,
                              Node node,
                              boolean hasBody)
        check if we are calling this macro with the right number of arguments. If we are not, and strictArguments is active, then throw TemplateInitException. This method is called during macro render, so it must be thread safe.