org.apache.velocity.tools.generic
Class ListTool

java.lang.Object
  extended by org.apache.velocity.tools.generic.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:

 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
ListTool()
          Default constructor.
 
Method Summary
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:

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:

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:

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.


Copyright (c) 2003-2007 Apache Software Foundation