Class AlternatorTool


  • @DefaultKey("alternator")
    public class AlternatorTool
    extends SafeConfig
    Simple tool to provide easy in-template instantiation of Alternators from varying "list" types or individual arguments.

    Example Use:

     tools.xml...
     <tools>
       <toolbox scope="application">
         <tool class="org.apache.velocity.tools.generic.AlternatorTool"/>
       </toolbox>
     </tools>
    
     template...
     #set( $color = $alternator.auto('red', 'blue') )
     ## use manual alternation for this one
     #set( $style = $alternator.manual('hip','fly','groovy') )
     #foreach( $i in [1..5] )
       Number $i is $color and $style. I dig $style.next numbers.
     #end *
    
     output...
       Number 1 is red and hip. I dig hip numbers.
       Number 2 is blue and fly. I dig fly numbers.
       Number 3 is red and groovy. I dig groovy numbers.
       Number 4 is blue and hip. I dig hip numbers.
       Number 5 is red and fly. I dig fly numbers.
     

    Since:
    Velocity Tools 1.2
    Version:
    $Revision: 671010 $ $Date: 2008-06-23 20:40:41 -0700 (Mon, 23 Jun 2008) $
    • Field Detail

      • OLD_AUTO_ALTERNATE_DEFAULT_KEY

        @Deprecated
        public static final java.lang.String OLD_AUTO_ALTERNATE_DEFAULT_KEY
        Deprecated.
        See Also:
        Constant Field Values
      • AUTO_ALTERNATE_DEFAULT_KEY

        public static final java.lang.String AUTO_ALTERNATE_DEFAULT_KEY
        See Also:
        Constant Field Values
      • autoAlternateDefault

        private boolean autoAlternateDefault
    • Constructor Detail

      • AlternatorTool

        public AlternatorTool()
    • Method Detail

      • configure

        protected void configure​(ValueParser parser)
        Looks for a default auto-alternate value in the given params, if not, set the default to true.
        Overrides:
        configure in class SafeConfig
      • getAutoAlternateDefault

        public boolean getAutoAlternateDefault()
        Returns true if the default for auto-alternating is true.
        Since:
        VelocityTools 1.3
      • setAutoAlternateDefault

        protected void setAutoAlternateDefault​(boolean bool)
        Sets the default for auto-alternating.
        Since:
        VelocityTools 1.3
      • make

        public Alternator make​(java.lang.Object... list)
        Make an automatic Alternator from the specifed objects.
      • make

        @Deprecated
        public Alternator make​(java.util.Collection list)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • make

        public Alternator make​(boolean auto,
                               java.lang.Object... list)
        Returns a new Alternator for the specified list with the specified automatic shifting preference.
        Parameters:
        auto - See Alternator.setAuto(boolean auto).
        list - The list of elements to alternate.
      • make

        @Deprecated
        public Alternator make​(boolean auto,
                               java.util.Collection list)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • make

        @Deprecated
        public Alternator make​(java.lang.Object o1,
                               java.lang.Object o2)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • make

        @Deprecated
        public Alternator make​(boolean auto,
                               java.lang.Object o1,
                               java.lang.Object o2)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • auto

        public Alternator auto​(java.lang.Object... list)
        Make an automatic Alternator from the specified objects.
        Returns:
        a new, automatic Alternator with the specified values or null if there are none specified.
        Since:
        VelocityTools 1.3
      • auto

        @Deprecated
        public Alternator auto​(java.util.Collection list)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • auto

        @Deprecated
        public Alternator auto​(java.lang.Object o1,
                               java.lang.Object o2)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • manual

        public Alternator manual​(java.lang.Object... list)
        Make a manual Alternator from the specified objects.
        Returns:
        a new, manual Alternator with the values in the array or null if the array is null.
        Since:
        VelocityTools 1.3
      • manual

        @Deprecated
        public Alternator manual​(java.util.Collection list)
        Deprecated.
        Will be unnecessary with Velocity 1.6
      • manual

        @Deprecated
        public Alternator manual​(java.lang.Object o1,
                                 java.lang.Object o2)
        Deprecated.
        Will be unnecessary with Velocity 1.6