Class For

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

    public class For
    extends Foreach
    The #for directive provides the behavior of the #foreach directive but also provides an 'index' keyword that allows the user to define an optional index variable that tracks the loop iterations. e.g.; #for($user in $users index $i). As $user iterates through $users the index reference $i will be equal to 0, 1, 2, etc..
    See Also:
    Foreach
    • Field Detail

      • counterName

        protected java.lang.String counterName
      • counterInitialValue

        protected int counterInitialValue
    • Constructor Detail

      • For

        public For()
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from class: Foreach
        Return name of this directive.
        Overrides:
        getName in class Foreach
        Returns:
        The name of this directive.
      • getType

        public int getType()
        Description copied from class: Foreach
        Return type of this directive.
        Overrides:
        getType in class Foreach
        Returns:
        The type of this directive.
      • render

        public boolean render​(InternalContextAdapter context,
                              java.io.Writer writer,
                              Node node)
                       throws java.io.IOException
        Description copied from class: Foreach
        renders the #foreach() block
        Overrides:
        render in class Foreach
        Returns:
        True if the directive rendered successfully.
        Throws:
        java.io.IOException
      • checkArgs

        public void checkArgs​(java.util.ArrayList<java.lang.Integer> argtypes,
                              Token t,
                              java.lang.String templateName)
                       throws ParseException
        We do not allow a word token in any other arg position except for the 2nd since we are looking for the pattern #foreach($foo in $bar).
        Overrides:
        checkArgs in class Foreach
        Parameters:
        argtypes - type, Array of argument types of each argument to the directive for example ParserTreeConstants.JJTWORD
        t - token of directive
        templateName - the name of the template this directive is referenced in.
        Throws:
        ParseException