org.apache.commons.collections.bag
public class PredicatedBag extends PredicatedCollection implements Bag
Bag
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.
Bag bag = PredicatedBag.decorate(new HashBag(), NotNullPredicate.INSTANCE);
This class is Serializable from Commons Collections 3.1.
Since: Commons Collections 3.0
Version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $
Constructor Summary | |
---|---|
protected | PredicatedBag(Bag bag, Predicate predicate)
Constructor that wraps (not copies).
|
Method Summary | |
---|---|
boolean | add(Object object, int count) |
static Bag | decorate(Bag bag, Predicate predicate)
Factory method to create a predicated (validating) bag.
|
protected Bag | getBag()
Gets the decorated bag.
|
int | getCount(Object object) |
boolean | remove(Object object, int count) |
Set | uniqueSet() |
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
Throws: IllegalArgumentException if bag or predicate is null IllegalArgumentException if the bag contains invalid elements
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 Bag
Throws: IllegalArgumentException if bag or predicate is null IllegalArgumentException if the bag contains invalid elements
Returns: the decorated bag