org.apache.commons.collections.collection
Class PredicatedCollection
java.lang.Object
|
+--org.apache.commons.collections.collection.AbstractCollectionDecorator
|
+--org.apache.commons.collections.collection.PredicatedCollection
- All Implemented Interfaces:
- Collection
- Direct Known Subclasses:
- PredicatedBag, PredicatedBuffer, PredicatedList, PredicatedSet
- public class PredicatedCollection
- extends AbstractCollectionDecorator
Decorates another Collection
to validate that additions
match a specified predicate.
If an object cannot be added to the collection, an IllegalArgumentException
is thrown.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 1.2 $ $Date: 2004/01/14 21:43:18 $
- Author:
- Stephen Colebourne, Paul Jack
Method Summary |
boolean |
add(Object object)
Override to validate the object being added to ensure it matches
the predicate. |
boolean |
addAll(Collection coll)
Override to validate the objects being added to ensure they match
the predicate. |
static Collection |
decorate(Collection coll,
Predicate predicate)
Factory method to create a predicated (validating) collection. |
protected void |
validate(Object object)
Validates the object being added to ensure it matches the predicate. |
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 |
predicate
protected final Predicate predicate
- The predicate to use
PredicatedCollection
protected PredicatedCollection(Collection coll,
Predicate predicate)
- Constructor that wraps (not copies).
If there are any elements already in the collection being decorated, they
are validated.
- Parameters:
coll
- the collection to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null- Throws:
IllegalArgumentException
- if collection or predicate is nullIllegalArgumentException
- if the collection contains invalid elements
decorate
public static Collection decorate(Collection coll,
Predicate predicate)
- Factory method to create a predicated (validating) collection.
If there are any elements already in the collection being decorated, they
are validated.
- Parameters:
coll
- the collection to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null- Throws:
IllegalArgumentException
- if collection or predicate is nullIllegalArgumentException
- if the collection contains invalid elements
validate
protected void validate(Object object)
- Validates the object being added to ensure it matches the predicate.
The predicate itself should not throw an exception, but return false to
indicate that the object cannot be added.
- Parameters:
object
- the object being added- Throws:
IllegalArgumentException
- if the add is invalid
add
public boolean add(Object object)
- Override to validate the object being added to ensure it matches
the predicate.
- Overrides:
add
in class AbstractCollectionDecorator
- Parameters:
object
- the object being added- Returns:
- the result of adding to the underlying collection
- Throws:
IllegalArgumentException
- if the add is invalid
addAll
public boolean addAll(Collection coll)
- Override to validate the objects being added to ensure they match
the predicate. If any one fails, no update is made to the underlying
collection.
- Overrides:
addAll
in class AbstractCollectionDecorator
- Parameters:
coll
- the collection being added- Returns:
- the result of adding to the underlying collection
- Throws:
IllegalArgumentException
- if the add is invalid
Copyright © 2001-2004 Apache Software Foundation. All Rights Reserved.