## 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.