org.apache.commons.jelly.tags.core
Class ForEachTag

java.lang.Object
  extended by org.apache.commons.jelly.TagSupport
      extended by org.apache.commons.jelly.tags.core.ForEachTag
All Implemented Interfaces:
Tag

public class ForEachTag
extends TagSupport

Iterates over a collection, iterator or an array of objects. Uses the same syntax as the JSTL forEach tag does.

Version:
$Revision: 1807798 $
Author:
James Strachan

Nested Class Summary
static class ForEachTag.LoopStatus
          Holds the status of the loop.
 
Field Summary
private  int begin
          The starting index value
private  int end
          The ending index value
private  int index
          The iteration index
private  java.lang.String indexVar
          If specified then the current index counter will be defined as the given variable name.
private  Expression items
          Holds the variable name to export for the item being iterated over.
private static org.apache.commons.logging.Log log
          The Log to which logging calls will be made.
private  java.lang.String statusVar
          variable to hold loop status
private  int step
          The index increment step
private  java.lang.String var
          If specified then the current item iterated through will be defined as the given variable name.
 
Fields inherited from class org.apache.commons.jelly.TagSupport
body, context, hasTrimmed, parent, shouldTrim
 
Constructor Summary
ForEachTag()
           
 
Method Summary
 void doTag(XMLOutput output)
          Evaluates this tag after all the tags properties have been initialized.
 void setBegin(int begin)
          Sets the starting index value
 void setEnd(int end)
          Sets the ending index value
 void setIndexVar(java.lang.String indexVar)
          Sets the variable name to export the current index counter to
 void setItems(Expression items)
          Sets the expression used to iterate over.
 void setStep(int step)
          Sets the index increment step
 void setVar(java.lang.String var)
          Sets the variable name to export for the item being iterated over
 void setVarStatus(java.lang.String var)
          Sets the variable name to export the current status to.
 
Methods inherited from class org.apache.commons.jelly.TagSupport
findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log
The Log to which logging calls will be made.


items

private Expression items
Holds the variable name to export for the item being iterated over.


var

private java.lang.String var
If specified then the current item iterated through will be defined as the given variable name.


indexVar

private java.lang.String indexVar
If specified then the current index counter will be defined as the given variable name.


statusVar

private java.lang.String statusVar
variable to hold loop status


begin

private int begin
The starting index value


end

private int end
The ending index value


step

private int step
The index increment step


index

private int index
The iteration index

Constructor Detail

ForEachTag

public ForEachTag()
Method Detail

doTag

public void doTag(XMLOutput output)
           throws MissingAttributeException,
                  JellyTagException
Description copied from interface: Tag
Evaluates this tag after all the tags properties have been initialized.

Throws:
MissingAttributeException
JellyTagException

setItems

public void setItems(Expression items)
Sets the expression used to iterate over. This expression could resolve to an Iterator, Collection, Map, Array, Enumeration or comma separated String.


setVar

public void setVar(java.lang.String var)
Sets the variable name to export for the item being iterated over


setIndexVar

public void setIndexVar(java.lang.String indexVar)
Sets the variable name to export the current index counter to


setBegin

public void setBegin(int begin)
Sets the starting index value


setEnd

public void setEnd(int end)
Sets the ending index value


setStep

public void setStep(int step)
Sets the index increment step


setVarStatus

public void setVarStatus(java.lang.String var)
Sets the variable name to export the current status to. The status is an implementation of the JSTL LoopTagStatus interface that provides the following bean properties: