org.apache.commons.collections.bag
Class PredicatedSortedBag<E>
java.lang.Object
org.apache.commons.collections.collection.AbstractCollectionDecorator<E>
org.apache.commons.collections.collection.AbstractSerializableCollectionDecorator<E>
org.apache.commons.collections.collection.PredicatedCollection<E>
org.apache.commons.collections.bag.PredicatedBag<E>
org.apache.commons.collections.bag.PredicatedSortedBag<E>
- All Implemented Interfaces:
- Serializable, Iterable<E>, Collection<E>, Bag<E>, SortedBag<E>
public class PredicatedSortedBag<E>
- extends PredicatedBag<E>
- implements SortedBag<E>
Decorates another SortedBag
to validate that additions
match a specified predicate.
This bag exists to provide validation for the decorated bag.
It is normally created to decorate an empty bag.
If an object cannot be added to the bag, an IllegalArgumentException is thrown.
One usage would be to ensure that no null entries are added to the bag.
SortedBag bag = PredicatedSortedBag.decorate(new TreeBag(), NotNullPredicate.INSTANCE);
This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 1.1.1.1 $ $Date: 2005/05/23 04:33:29 $
- Author:
- Stephen Colebourne, Matt Hall, John Watkinson, Paul Jack
- See Also:
- Serialized Form
Method Summary |
Comparator<? super E> |
comparator()
Returns the comparator associated with this sorted set, or null
if it uses its elements' natural ordering. |
static
|
decorate(SortedBag<E> bag,
Predicate<? super E> predicate)
Factory method to create a predicated (validating) bag. |
E |
first()
Returns the first (lowest) member. |
protected SortedBag<E> |
getSortedBag()
Gets the decorated sorted bag. |
E |
last()
Returns the last (highest) member. |
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 interface org.apache.commons.collections.Bag |
add, add, containsAll, getCount, iterator, remove, remove, removeAll, retainAll, size, uniqueSet |
PredicatedSortedBag
protected PredicatedSortedBag(SortedBag<E> bag,
Predicate<? super E> predicate)
- Constructor that wraps (not copies).
If there are any elements already in the bag being decorated, they
are validated.
- Parameters:
bag
- the bag to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null
- Throws:
IllegalArgumentException
- if bag or predicate is null
IllegalArgumentException
- if the bag contains invalid elements
decorate
public static <E> SortedBag<E> decorate(SortedBag<E> bag,
Predicate<? super E> predicate)
- Factory method to create a predicated (validating) bag.
If there are any elements already in the bag being decorated, they
are validated.
- Parameters:
bag
- the bag to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null
- Returns:
- a new predicated SortedBag
- Throws:
IllegalArgumentException
- if bag or predicate is null
IllegalArgumentException
- if the bag contains invalid elements
getSortedBag
protected SortedBag<E> getSortedBag()
- Gets the decorated sorted bag.
- Returns:
- the decorated bag
first
public E first()
- Description copied from interface:
SortedBag
- Returns the first (lowest) member.
- Specified by:
first
in interface SortedBag<E>
- Returns:
- the first element in the sorted bag
last
public E last()
- Description copied from interface:
SortedBag
- Returns the last (highest) member.
- Specified by:
last
in interface SortedBag<E>
- Returns:
- the last element in the sorted bag
comparator
public Comparator<? super E> comparator()
- Description copied from interface:
SortedBag
- Returns the comparator associated with this sorted set, or null
if it uses its elements' natural ordering.
- Specified by:
comparator
in interface SortedBag<E>
- Returns:
- the comparator in use, or null if natural ordering
Copyright © 2005-2005 Apache Software Foundation, Matt Hall, John Watkinson. All Rights Reserved.