org.mortbay.util
Class LazyList

java.lang.Object
  |
  +--org.mortbay.util.LazyList
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class LazyList
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Lazy List creation. A List helper class that attempts to avoid unneccessary List creation. If a method needs to create a List to return, but it is expected that this will either be empty or frequently contain a single item, then using LazyList will avoid additional object creations by using Collections.EMPTY_LIST or Collections.singletonList where possible.

Usage

   Object lazylist =null;
   while(loopCondition)
   {
     Object item = getItem();
     if (item.isToBeAdded())
         lazylist = LazyList.add(lazylist,item);
   }
   return LazyList.getList(lazylist);
 
An ArrayList of default size is used as the initial LazyList.

Version:
$Revision: 1.11 $
Author:
Greg Wilkins (gregw)
See Also:
List, Serialized Form

Method Summary
static java.lang.Object add(java.lang.Object list, java.util.Collection collection)
          Add the contents of a Collection to a LazyList
static java.lang.Object add(java.lang.Object list, int initialSize, java.lang.Object item)
          Add an item to a LazyList
static java.lang.Object add(java.lang.Object list, java.lang.Object item)
          Add an item to a LazyList
static java.lang.Object clone(java.lang.Object list)
           
static boolean contains(java.lang.Object list, java.lang.Object item)
           
static java.lang.Object get(java.lang.Object list, int i)
          Get item from the list
static java.util.List getList(java.lang.Object list)
          Get the real List from a LazyList.
static java.util.List getList(java.lang.Object list, boolean nullForEmpty)
          Get the real List from a LazyList.
static java.util.Iterator iterator(java.lang.Object list)
           
static java.util.ListIterator listIterator(java.lang.Object list)
           
static java.lang.Object remove(java.lang.Object list, java.lang.Object o)
           
static int size(java.lang.Object list)
          The size of a lazy List
static java.lang.String toString(java.lang.Object list)
           
static java.lang.String[] toStringArray(java.lang.Object list)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

add

public static java.lang.Object add(java.lang.Object list,
                                   java.lang.Object item)
Add an item to a LazyList

Parameters:
list - The list to add to or null if none yet created.
item - The item to add.
Returns:
The lazylist created or added to.

add

public static java.lang.Object add(java.lang.Object list,
                                   java.util.Collection collection)
Add the contents of a Collection to a LazyList

Parameters:
list - The list to add to or null if none yet created.
collection - The Collection whose contents should be added.
Returns:
The lazylist created or added to.

add

public static java.lang.Object add(java.lang.Object list,
                                   int initialSize,
                                   java.lang.Object item)
Add an item to a LazyList

Parameters:
list - The list to add to or null if none yet created.
initialSize - A size to use when creating the real list
item - The item to add.
Returns:
The lazylist created or added to.

remove

public static java.lang.Object remove(java.lang.Object list,
                                      java.lang.Object o)

getList

public static java.util.List getList(java.lang.Object list)
Get the real List from a LazyList.

Parameters:
list - A LazyList returned from LazyList.add(Object)
Returns:
The List of added items, which may be an EMPTY_LIST or a SingletonList.

getList

public static java.util.List getList(java.lang.Object list,
                                     boolean nullForEmpty)
Get the real List from a LazyList.

Parameters:
list - A LazyList returned from LazyList.add(Object) or null
nullForEmpty - If true, null is returned instead of an empty list.
Returns:
The List of added items, which may be null, an EMPTY_LIST or a SingletonList.

toStringArray

public static java.lang.String[] toStringArray(java.lang.Object list)

size

public static int size(java.lang.Object list)
The size of a lazy List

Parameters:
list - A LazyList returned from LazyList.add(Object) or null
Returns:
the size of the list.

get

public static java.lang.Object get(java.lang.Object list,
                                   int i)
Get item from the list

Parameters:
list - A LazyList returned from LazyList.add(Object) or null
i - int index
Returns:
the item from the list.

contains

public static boolean contains(java.lang.Object list,
                               java.lang.Object item)

clone

public static java.lang.Object clone(java.lang.Object list)

toString

public static java.lang.String toString(java.lang.Object list)

iterator

public static java.util.Iterator iterator(java.lang.Object list)

listIterator

public static java.util.ListIterator listIterator(java.lang.Object list)


Copyright ? 2000 Mortbay Consulting Pty. Ltd. All Rights Reserved.