org.apache.commons.collections.bag

Class PredicatedSortedBag

Implemented Interfaces:
Bag, Collection, Bag, Serializable, SortedBag

public class PredicatedSortedBag
extends PredicatedBag
implements SortedBag

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.

Version:
$Revision: 1.8 $ $Date: 2004/06/03 22:02:12 $
Authors:
Stephen Colebourne
Paul Jack
Since:
Commons Collections 3.0

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

PredicatedSortedBag(SortedBag bag, Predicate predicate)
Constructor that wraps (not copies).

Method Summary

Comparator
comparator()
static SortedBag
decorate(SortedBag bag, Predicate predicate)
Factory method to create a predicated (validating) bag.
Object
first()
protected SortedBag
getSortedBag()
Gets the decorated sorted bag.
Object
last()

Methods inherited from class org.apache.commons.collections.bag.PredicatedBag

add, decorate, getBag, getCount, remove, uniqueSet

Methods inherited from class org.apache.commons.collections.collection.PredicatedCollection

add, addAll, decorate, validate

Methods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator

add, addAll, clear, contains, containsAll, equals, getCollection, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString

Constructor Details

PredicatedSortedBag

protected PredicatedSortedBag(SortedBag bag,
                              Predicate 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 null
predicate - the predicate to use for validation, must not be null

Method Details

comparator

public Comparator comparator()
Specified by:
comparator in interface SortedBag

decorate

public static SortedBag decorate(SortedBag bag,
                                 Predicate 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 null
predicate - the predicate to use for validation, must not be null
Returns:
a new predicated SortedBag

first

public Object first()
Specified by:
first in interface SortedBag

getSortedBag

protected SortedBag getSortedBag()
Gets the decorated sorted bag.
Returns:
the decorated bag

last

public Object last()
Specified by:
last in interface SortedBag

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