Class 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$
    • 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