Known Direct Subclasses
PredicatedSortedBag |
Decorates another SortedBag to validate that additions
match a specified predicate. |
|
Class Overview
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.
Summary
Public Methods |
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.
|
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.
|
Protected Methods |
Bag
|
getBag()
Gets the decorated bag.
|
[Expand]
Inherited Methods |
From class
org.apache.commons.collections.collection.PredicatedCollection
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.
|
void
|
validate(Object object)
Validates the object being added to ensure it matches the predicate.
|
|
From class
org.apache.commons.collections.collection.AbstractCollectionDecorator
|
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
|
From interface
java.lang.Iterable
|
From interface
java.util.Collection
abstract
boolean
|
add(E arg0)
|
abstract
boolean
|
addAll(Collection<? extends E> arg0)
|
abstract
void
|
clear()
|
abstract
boolean
|
contains(Object arg0)
|
abstract
boolean
|
containsAll(Collection<?> arg0)
|
abstract
boolean
|
equals(Object arg0)
|
abstract
int
|
hashCode()
|
abstract
boolean
|
isEmpty()
|
abstract
Iterator<E>
|
iterator()
|
abstract
boolean
|
remove(Object arg0)
|
abstract
boolean
|
removeAll(Collection<?> arg0)
|
abstract
boolean
|
retainAll(Collection<?> arg0)
|
abstract
int
|
size()
|
abstract
<T>
T[]
|
toArray(T[] arg0)
|
abstract
Object[]
|
toArray()
|
|
From interface
org.apache.commons.collections.Bag
abstract
boolean
|
add(Object object, int nCopies)
Adds nCopies copies of the specified object to the Bag.
|
abstract
boolean
|
add(Object object)
(Violation)
Adds one copy the specified object to the Bag.
|
abstract
boolean
|
containsAll(Collection coll)
(Violation)
Returns true if the bag contains all elements in
the given collection, respecting cardinality.
|
abstract
int
|
getCount(Object object)
Returns the number of occurrences (cardinality) of the given
object currently in the bag.
|
abstract
Iterator
|
iterator()
Returns an Iterator over the entire set of members,
including copies due to cardinality.
|
abstract
boolean
|
remove(Object object)
(Violation)
Removes all occurrences of the given object from the bag.
|
abstract
boolean
|
remove(Object object, int nCopies)
Removes nCopies copies of the specified object from the Bag.
|
abstract
boolean
|
removeAll(Collection coll)
(Violation)
Remove all elements represented in the given collection,
respecting cardinality.
|
abstract
boolean
|
retainAll(Collection coll)
(Violation)
Remove any members of the bag that are not in the given
collection, respecting cardinality.
|
abstract
int
|
size()
Returns the total number of items in the bag across all types.
|
abstract
Set
|
uniqueSet()
Returns a Set of unique elements in the Bag.
|
|
Protected Constructors
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.
Parameters
bag
| the bag to decorate, must not be null |
predicate
| the predicate to use for validation, must not be null |
Public Methods
public
boolean
add
(Object object, int count)
Adds nCopies
copies of the specified object to the Bag.
If the object is already in the uniqueSet()
then increment its
count as reported by getCount(Object)
. Otherwise add it to the
uniqueSet()
and report its count as nCopies
.
Parameters
object
| the object to add |
count
| the number of copies to add |
Returns
true
if the object was not already in the uniqueSet
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.
Parameters
bag
| the bag to decorate, must not be null |
predicate
| the predicate to use for validation, must not be null |
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.
Parameters
object
| the object to search for |
Returns
- the number of occurrences of the object, zero if not found
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.
Parameters
object
| the object to remove |
count
| the number of copies to remove |
Returns
true
if this call changed the collection
public
Set
uniqueSet
()
Returns a Set
of unique elements in the Bag.
Uniqueness constraints are the same as those in Set
.
Returns
- the Set of unique Bag elements
Protected Methods