Class Alternator
java.lang.Object
org.apache.velocity.tools.generic.Alternator
Utility class for easily alternating over values in a list.
Example usage:
java...
String[] myColors = new String[]{"red", "blue"};
context.put("color", new Alternator(myColors));
String[] myStyles = new String[]{"hip", "fly", "groovy"};
// demonstrate manual alternation with this one
context.put("style", new Alternator(false, myStyles));
template...
#foreach( $foo in [1..5] )
$foo is $color and $style.next
#end
output...
1 is red and hip
2 is blue and fly
3 is red and groovy
4 is blue and hip
5 is red and fly
- Since:
- Velocity Tools 1.2
- Version:
- $Id$
-
Constructor Summary
ConstructorsConstructorDescriptionAlternator(boolean auto, Object... list) Creates a new Alternator for the specified list with the specified automatic shifting preference.Alternator(Object... list) Creates a new Alternator for the specified list. -
Method Summary
Modifier and TypeMethodDescriptionReturns the current item without shifting the list index.getNext()Returns the current item, then shifts the list index.booleanisAuto()voidsetAuto(boolean auto) If set to true, the list index will shift automatically after a call to toString().voidshift()Manually shifts the list index.toString()Returns a string representation of the current item ornullif the current item is null.
-
Constructor Details
-
Alternator
Creates a new Alternator for the specified list. Alternation defaults to automatic.- Parameters:
list- the elements to alternate over
-
Alternator
Creates a new Alternator for the specified list with the specified automatic shifting preference.- Parameters:
auto- SeesetAuto(boolean auto).list- The elements to alternate over
-
-
Method Details
-
isAuto
public boolean isAuto()- Returns:
- Whether this Alternator shifts the list index
automatically after a call to
toString().
-
setAuto
public void setAuto(boolean auto) If set to true, the list index will shift automatically after a call to toString().- Parameters:
auto- flag value
-
shift
public void shift()Manually shifts the list index. If it reaches the end of the list, it will start over again at zero. -
getCurrent
Returns the current item without shifting the list index.- Returns:
- current item
-
getNext
-
toString
-