## org.apache.commons.collections.list
Class PredicatedList

    java.lang.Object
      org.apache.commons.collections.collection.AbstractCollectionDecorator
          org.apache.commons.collections.collection.AbstractSerializableCollectionDecorator
              org.apache.commons.collections.collection.PredicatedCollection
                  org.apache.commons.collections.list.PredicatedList

All Implemented Interfaces:
  Collection, List, Serializable

public class PredicatedList
extends PredicatedCollection
implements List

Decorates another `List` to validate that all additions match a specified predicate.

This list exists to provide validation for the decorated list. It is normally created to decorate an empty list. If an object cannot be added to the list, an IllegalArgumentException is thrown.

One usage would be to ensure that no null entries are added to the list.

    List list = PredicatedList.decorate(new ArrayList(), NotNullPredicate.INSTANCE);

This class is Serializable from Commons Collections 3.1.

Since:
  Commons Collections 3.0
Version:
  $Revision: 1.6 $ $Date: 2004/06/03 22:02:13 $
Author:
  Stephen Colebourne, Paul Jack
See Also:
  Serialized Form

Nested Class Summary
`protected class` `PredicatedList.PredicatedListIterator` Inner class Iterator for the PredicatedList

Field Summary

Fields inherited from class org.apache.commons.collections.collection.PredicatedCollection
`predicate`

Fields inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
`collection`

Constructor Summary
`protected` `PredicatedList(List list, Predicate predicate)` Constructor that wraps (not copies).

Method Summary
`void` `add(int index, Object object)`
`boolean` `addAll(int index, Collection coll)`
`static List` `decorate(List list, Predicate predicate)` Factory method to create a predicated (validating) list.
`Object` `get(int index)`
`protected List` `getList()` Gets the list being decorated.
`int` `indexOf(Object object)`
`int` `lastIndexOf(Object object)`
`ListIterator` `listIterator()`
`ListIterator` `listIterator(int i)`
`Object` `remove(int index)`
`Object` `set(int index, Object object)`
`List` `subList(int fromIndex, int toIndex)`

Methods inherited from class org.apache.commons.collections.collection.PredicatedCollection
`add, addAll, decorate, validate`

Methods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
`clear, contains, containsAll, equals, getCollection, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.List
`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

Constructor Detail

### PredicatedList

    protected PredicatedList(List list,
                             Predicate predicate)

  Constructor that wraps (not copies).

  If there are any elements already in the list being decorated, they are validated.

Parameters:
  `list` - the list to decorate, must not be null
  `predicate` - the predicate to use for validation, must not be null
Throws:
  `IllegalArgumentException` - if list or predicate is null
  `IllegalArgumentException` - if the list contains invalid elements

Method Detail

### decorate

    public static List decorate(List list,
                                Predicate predicate)

  Factory method to create a predicated (validating) list.

  If there are any elements already in the list being decorated, they are validated.

  Parameters:
    `list` - the list to decorate, must not be null
    `predicate` - the predicate to use for validation, must not be null
  Throws:
    `IllegalArgumentException` - if list or predicate is null
    `IllegalArgumentException` - if the list contains invalid elements

### getList

    protected List getList()

  Gets the list being decorated.

  Returns:
    the decorated list

### get

    public Object get(int index)

  Specified by:
    `get` in interface `List`

### indexOf

    public int indexOf(Object object)

  Specified by:
    `indexOf` in interface `List`

### lastIndexOf

    public int lastIndexOf(Object object)

  Specified by:
    `lastIndexOf` in interface `List`

### remove

    public Object remove(int index)

  Specified by:
    `remove` in interface `List`

### add

    public void add(int index,
                    Object object)

  Specified by:
    `add` in interface `List`

### addAll

    public boolean addAll(int index,
                          Collection coll)

  Specified by:
    `addAll` in interface `List`

### listIterator

    public ListIterator listIterator()

  Specified by:
    `listIterator` in interface `List`

### listIterator

    public ListIterator listIterator(int i)

  Specified by:
    `listIterator` in interface `List`

### set

    public Object set(int index,
                      Object object)

  Specified by:
    `set` in interface `List`

### subList

    public List subList(int fromIndex,
                        int toIndex)

  Specified by:
    `subList` in interface `List`

Copyright © 2001-2005 Apache Software Foundation. All Rights Reserved.