|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
org.apache.commons.collections4.bag.AbstractBagDecorator<E>
org.apache.commons.collections4.bag.CompliantBag<E>
public final class CompliantBag<E>
Decorates another Bag to comply with the Collection contract.
| Constructor Summary | |
|---|---|
CompliantBag(Bag<E> bag)
Constructor that wraps (not copies). |
|
| Method Summary | ||
|---|---|---|
boolean |
add(E object)
(Violation) Adds one copy of the specified object to the Bag. |
|
boolean |
add(E object,
int count)
Adds nCopies copies of the specified object to the Bag. |
|
boolean |
addAll(Collection<? extends E> coll)
|
|
static
|
compliantBag(Bag<E> bag)
Factory method to create a bag that complies to the Collection contract. |
|
boolean |
containsAll(Collection<?> coll)
(Violation) Returns true if the bag contains all elements in
the given collection, respecting cardinality. |
|
boolean |
remove(Object object)
(Violation) Removes all occurrences of the given object from the bag. |
|
boolean |
removeAll(Collection<?> coll)
(Violation) Remove all elements represented in the given collection, respecting cardinality. |
|
boolean |
retainAll(Collection<?> coll)
(Violation) Remove any members of the bag that are not in the given collection, respecting cardinality. |
|
| Methods inherited from class org.apache.commons.collections4.bag.AbstractBagDecorator |
|---|
decorated, getCount, remove, uniqueSet |
| Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator |
|---|
clear, contains, equals, hashCode, isEmpty, iterator, setCollection, size, toArray, toArray, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.commons.collections4.Bag |
|---|
iterator, size |
| Methods inherited from interface java.util.Collection |
|---|
clear, contains, equals, hashCode, isEmpty, toArray, toArray |
| Constructor Detail |
|---|
public CompliantBag(Bag<E> bag)
bag - the bag to decorate, must not be null
IllegalArgumentException - if bag is null| Method Detail |
|---|
public static <E> Bag<E> compliantBag(Bag<E> bag)
E - the type of the elements in the bagbag - the bag to decorate, must not be null
IllegalArgumentException - if bag is nullpublic boolean containsAll(Collection<?> coll)
Bagtrue if the bag contains all elements in
the given collection, respecting cardinality. That is, if the
given collection coll contains n copies
of a given object, calling Bag.getCount(Object) on that object must
be >= n for all n in coll.
The Collection.containsAll(Collection) method specifies
that cardinality should not be respected; this method should
return true if the bag contains at least one of every object contained
in the given collection.
containsAll in interface Collection<E>containsAll in interface Bag<E>containsAll in class AbstractCollectionDecorator<E>coll - the collection to check against
true if the Bag contains all the collectionpublic boolean add(E object)
Bag
If the object is already in the Bag.uniqueSet() then increment its
count as reported by Bag.getCount(Object). Otherwise add it to the
Bag.uniqueSet() and report its count as 1.
Since this method always increases the size of the bag,
according to the Collection.add(Object) contract, it
should always return true. Since it sometimes returns
false, this method violates the contract.
add in interface Collection<E>add in interface Bag<E>add in class AbstractCollectionDecorator<E>object - the object to add
true if the object was not already in the uniqueSetpublic boolean addAll(Collection<? extends E> coll)
addAll in interface Collection<E>addAll in class AbstractCollectionDecorator<E>public boolean remove(Object object)
Bag
This will also remove the object from the Bag.uniqueSet().
According to the Collection.remove(Object) method,
this method should only remove the first occurrence of the
given object, not all occurrences.
remove in interface Collection<E>remove in interface Bag<E>remove in class AbstractCollectionDecorator<E>object - the object to remove
true if this call changed the collectionpublic boolean removeAll(Collection<?> coll)
Bagcoll contains n copies of a given object,
the bag will have n fewer copies, assuming the bag
had at least n copies to begin with.
The Collection.removeAll(Collection) method specifies
that cardinality should not be respected; this method should
remove all occurrences of every object contained in the
given collection.
removeAll in interface Collection<E>removeAll in interface Bag<E>removeAll in class AbstractCollectionDecorator<E>coll - the collection to remove
true if this call changed the collectionpublic boolean retainAll(Collection<?> coll)
Bagcoll contains n copies of a
given object and the bag has m > n copies, then
delete m - n copies from the bag. In addition, if
e is an object in the bag but
!coll.contains(e), then remove e and any
of its copies.
The Collection.retainAll(Collection) method specifies
that cardinality should not be respected; this method should
keep all occurrences of every object contained in the
given collection.
retainAll in interface Collection<E>retainAll in interface Bag<E>retainAll in class AbstractCollectionDecorator<E>coll - the collection to retain
true if this call changed the collection
public boolean add(E object,
int count)
BagnCopies copies of the specified object to the Bag.
If the object is already in the Bag.uniqueSet() then increment its
count as reported by Bag.getCount(Object). Otherwise add it to the
Bag.uniqueSet() and report its count as nCopies.
add in interface Bag<E>add in class AbstractBagDecorator<E>object - the object to addcount - the number of copies to add
true if the object was not already in the uniqueSet
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||