Class For
java.lang.Object
org.apache.velocity.runtime.directive.Directive
org.apache.velocity.runtime.directive.Foreach
org.apache.velocity.runtime.directive.contrib.For
- All Implemented Interfaces:
Cloneable
,DirectiveConstants
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:
-
Field Summary
Fields inherited from interface org.apache.velocity.runtime.directive.DirectiveConstants
BLOCK, LINE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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).getName()
Return name of this directive.int
getType()
Return type of this directive.void
init
(RuntimeServices rs, InternalContextAdapter context, Node node) simple init - init the tree and get the elementKey from the ASTboolean
render
(InternalContextAdapter context, Writer writer, Node node) renders the #foreach() blockprotected void
renderBlock
(InternalContextAdapter context, Writer writer, Node node) Methods inherited from class org.apache.velocity.runtime.directive.Foreach
clean, getIterator, put
Methods inherited from class org.apache.velocity.runtime.directive.Directive
getColumn, getLine, getScopeName, getTemplate, getTemplateName, isScopeProvided, makeScope, postRender, preRender, setLocation, setLocation
-
Field Details
-
counterName
-
counterInitialValue
protected int counterInitialValue
-
-
Constructor Details
-
For
public For()
-
-
Method Details
-
getName
Description copied from class:Foreach
Return name of this directive. -
getType
public int getType()Description copied from class:Foreach
Return type of this directive. -
init
public void init(RuntimeServices rs, InternalContextAdapter context, Node node) throws TemplateInitException Description copied from class:Foreach
simple init - init the tree and get the elementKey from the AST- Overrides:
init
in classForeach
- Parameters:
rs
-context
-node
-- Throws:
TemplateInitException
-
render
Description copied from class:Foreach
renders the #foreach() block- Overrides:
render
in classForeach
- Parameters:
context
-writer
-node
-- Returns:
- True if the directive rendered successfully.
- Throws:
IOException
-
renderBlock
protected void renderBlock(InternalContextAdapter context, Writer writer, Node node) throws IOException - Overrides:
renderBlock
in classForeach
- Throws:
IOException
-
checkArgs
public void checkArgs(ArrayList<Integer> argtypes, Token t, 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 classForeach
- Parameters:
argtypes
- type, Array of argument types of each argument to the directive for example StandardParserTreeConstants.JJTWORDt
- token of directivetemplateName
- the name of the template this directive is referenced in.- Throws:
ParseException
-