org.apache.commons.collections.bag
Class PredicatedBag
- Bag, Collection, Serializable
public class PredicatedBag
Decorates another
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.
$Revision: 1.8 $ $Date: 2004/06/03 22:02:12 $- Stephen Colebourne
- Paul Jack
boolean | add(Object object, int count) - Adds
nCopies copies of the specified object to the Bag.
|
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) - Returns the number of occurrences (cardinality) of the given
object currently in the bag.
|
boolean | remove(Object object, int count) - Removes
nCopies copies of the specified object from the Bag.
|
Set | uniqueSet() - Returns a
Set of unique elements in the Bag.
|
add , addAll , clear , contains , containsAll , equals , getCollection , hashCode , isEmpty , iterator , remove , removeAll , retainAll , size , toArray , toArray , toString |
PredicatedBag
protected PredicatedBag(Bag bag,
Predicate predicate)
Constructor that wraps (not copies).
If there are any elements already in the bag being decorated, they
are validated.
bag
- the bag to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null
add
public boolean add(Object object,
int count)
- add in interface Bag
object
- the object to add
true
if the object was not already in the uniqueSet
decorate
public static Bag decorate(Bag 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.
bag
- the bag to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null
getBag
protected Bag getBag()
Gets the decorated bag.
getCount
public int getCount(Object object)
Returns the number of occurrences (cardinality) of the given
object currently in the bag. If the object does not exist in the
bag, return 0.
- getCount in interface Bag
object
- the object to search for
- the number of occurrences of the object, zero if not found
remove
public boolean remove(Object object,
int count)
Removes
nCopies
copies of the specified object from the Bag.
If the number of copies to remove is greater than the actual number of
copies in the Bag, no error is thrown.
- remove in interface Bag
object
- the object to remove
true
if this call changed the collection
uniqueSet
public Set uniqueSet()
Returns a
Set
of unique elements in the Bag.
Uniqueness constraints are the same as those in
java.util.Set
.
- uniqueSet in interface Bag
- the Set of unique Bag elements
Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.