org.apache.velocity.tools.generic
Class Alternator

java.lang.Object
  extended by org.apache.velocity.tools.generic.Alternator

public class Alternator
extends Object

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: Alternator.java 603419 2007-12-12 00:04:07Z nbubna $

Constructor Summary
Alternator(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
 Object getCurrent()
          Returns the current item without shifting the list index.
 Object getNext()
          Returns the current item, then shifts the list index.
 boolean isAuto()
           
 void setAuto(boolean auto)
          If set to true, the list index will shift automatically after a call to toString().
 void shift()
          Manually shifts the list index.
 String toString()
          Returns a string representation of the current item or null if the current item is null.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Alternator

public Alternator(Object... list)
Creates a new Alternator for the specified list. Alternation defaults to automatic.


Alternator

public Alternator(boolean auto,
                  Object... list)
Creates a new Alternator for the specified list with the specified automatic shifting preference.

Parameters:
auto - See setAuto(boolean auto).
list - The elements to alternate over
Method Detail

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().


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

public Object getCurrent()
Returns the current item without shifting the list index.


getNext

public Object getNext()
Returns the current item, then shifts the list index.


toString

public String toString()
Returns a string representation of the current item or null if the current item is null. If auto is true, this will shift after returning the current item.

Overrides:
toString in class Object


Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.