Class ListTool


  • public class ListTool
    extends java.lang.Object
    Tool for working with Lists and arrays in Velocity templates. It provides a method to get and set specified elements. Also provides methods to perform the following actions to Lists and arrays:
    • Check if it is empty.
    • Check if it contains a certain element.

     Example uses:
      $primes                    -> new int[] {2, 3, 5, 7}
      $list.size($primes)        -> 4
      $list.get($primes, 2)      -> 5
      $list.set($primes, 2, 1)   -> (primes[2] becomes 1)
      $list.get($primes, 2)      -> 1
      $list.isEmpty($primes)     -> false
      $list.contains($primes, 7) -> true
    
     Example toolbox.xml config (if you want to use this with VelocityView):
     <tool>
       <key>list</key>
       <scope>application</scope>
       <class>org.apache.velocity.tools.generic.ListTool</class>
     </tool>
     

    This tool is entirely threadsafe, and has no instance members. It may be used in any scope (request, session, or application).

    Since:
    VelocityTools 1.2
    Version:
    $Id: $
    Author:
    Shinobu Kawai
    • Constructor Summary

      Constructors 
      Constructor Description
      ListTool()
      Default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.lang.Boolean arrayContains​(java.lang.Object array, java.lang.Object element)
      Checks if an array contains a certain element.
      java.lang.Boolean contains​(java.lang.Object list, java.lang.Object element)
      Checks if a List/array contains a certain element.
      private boolean equals​(java.lang.Object what, java.lang.Object with)
      Check if two objects are equal.
      java.lang.Object get​(java.lang.Object list, int index)
      Gets the specified element of a List/array.
      private java.lang.Object getFromArray​(java.lang.Object array, int index)
      Gets the specified element of an array.
      boolean isArray​(java.lang.Object object)
      Checks if an object is an array.
      java.lang.Boolean isEmpty​(java.lang.Object list)
      Checks if a List/array is empty.
      boolean isList​(java.lang.Object object)
      Checks if an object is a List.
      java.lang.Object set​(java.lang.Object list, int index, java.lang.Object value)
      Sets the specified element of a List/array.
      private java.lang.Object setToArray​(java.lang.Object array, int index, java.lang.Object value)
      Sets the specified element of an array.
      java.lang.Integer size​(java.lang.Object list)
      Gets the size of a List/array.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ListTool

        public ListTool()
        Default constructor.
    • Method Detail

      • get

        public java.lang.Object get​(java.lang.Object list,
                                    int index)
        Gets the specified element of a List/array. It will return null under the following conditions:
        • list is null.
        • list is not a List/array.
        • list doesn't have an indexth value.
        Parameters:
        list - the List/array object.
        index - the index of the List/array to get.
        Returns:
        the specified element of the List/array.
      • getFromArray

        private java.lang.Object getFromArray​(java.lang.Object array,
                                              int index)
        Gets the specified element of an array.
        Parameters:
        array - the array object.
        index - the index of the array to get.
        Returns:
        the specified element of the array.
      • set

        public java.lang.Object set​(java.lang.Object list,
                                    int index,
                                    java.lang.Object value)
        Sets the specified element of a List/array. It will return null under the following conditions:
        • list is null.
        • list is not a List/array.
        • list doesn't have an indexth value.
        Parameters:
        list - the List/array object.
        index - the index of the List/array to set.
        value - the element to set.
        Returns:
        blank if set, null if not set.
      • setToArray

        private java.lang.Object setToArray​(java.lang.Object array,
                                            int index,
                                            java.lang.Object value)
        Sets the specified element of an array.
        Parameters:
        array - the array object.
        index - the index of the array to set.
        value - the element to set.
        Returns:
        blank if set, null if not set.
      • size

        public java.lang.Integer size​(java.lang.Object list)
        Gets the size of a List/array. It will return null under the following conditions:
        • list is null.
        • list is not a List/array.
        Parameters:
        list - the List object.
        Returns:
        the size of the List.
      • isArray

        public boolean isArray​(java.lang.Object object)
        Checks if an object is an array.
        Parameters:
        object - the object to check.
        Returns:
        true if the object is an array.
      • isList

        public boolean isList​(java.lang.Object object)
        Checks if an object is a List.
        Parameters:
        object - the object to check.
        Returns:
        true if the object is a List.
      • isEmpty

        public java.lang.Boolean isEmpty​(java.lang.Object list)
        Checks if a List/array is empty.
        Parameters:
        list - the List/array to check.
        Returns:
        true if the List/array is empty.
      • contains

        public java.lang.Boolean contains​(java.lang.Object list,
                                          java.lang.Object element)
        Checks if a List/array contains a certain element.
        Parameters:
        list - the List/array to check.
        element - the element to check.
        Returns:
        true if the List/array contains the element.
      • arrayContains

        private java.lang.Boolean arrayContains​(java.lang.Object array,
                                                java.lang.Object element)
        Checks if an array contains a certain element.
        Parameters:
        array - the array to check.
        element - the element to check.
        Returns:
        true if the array contains the element.
      • equals

        private boolean equals​(java.lang.Object what,
                               java.lang.Object with)
        Check if two objects are equal.
        Parameters:
        what - an object
        with - another object.
        Returns:
        true if the two objects are equal.