public final class UnmodifiableBag extends AbstractBagDecorator implements Unmodifiable, java.io.Serializable
Bag to ensure it can't be altered.
This class is Serializable from Commons Collections 3.1.
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(java.lang.Object object)
(Violation)
Adds one copy the specified object to the Bag.
|
boolean |
add(java.lang.Object object,
int count)
Adds
nCopies copies of the specified object to the Bag. |
boolean |
addAll(java.util.Collection coll) |
void |
clear() |
static Bag |
decorate(Bag bag)
Factory method to create an unmodifiable bag.
|
java.util.Iterator |
iterator()
Returns an
Iterator over the entire set of members,
including copies due to cardinality. |
boolean |
remove(java.lang.Object object)
(Violation)
Removes all occurrences of the given object from the bag.
|
boolean |
remove(java.lang.Object object,
int count)
Removes
nCopies copies of the specified object from the Bag. |
boolean |
removeAll(java.util.Collection coll)
(Violation)
Remove all elements represented in the given collection,
respecting cardinality.
|
boolean |
retainAll(java.util.Collection coll)
(Violation)
Remove any members of the bag that are not in the given
collection, respecting cardinality.
|
java.util.Set |
uniqueSet()
Returns a
Set of unique elements in the Bag. |
getCountcontains, containsAll, equals, hashCode, isEmpty, size, toArray, toArray, toStringcontainsAll, sizepublic static Bag decorate(Bag bag)
If the bag passed in is already unmodifiable, it is returned.
bag - the bag to decorate, must not be nulljava.lang.IllegalArgumentException - if bag is nullpublic java.util.Iterator iterator()
BagIterator over the entire set of members,
including copies due to cardinality. This iterator is fail-fast
and will not tolerate concurrent modifications.iterator in interface java.lang.Iterableiterator in interface java.util.Collectioniterator in interface Bagiterator in class AbstractCollectionDecoratorpublic boolean add(java.lang.Object 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 java.util.Collectionadd in interface Bagadd in class AbstractCollectionDecoratorobject - the object to addtrue if the object was not already in the uniqueSetpublic boolean addAll(java.util.Collection coll)
addAll in interface java.util.CollectionaddAll in class AbstractCollectionDecoratorpublic void clear()
clear in interface java.util.Collectionclear in class AbstractCollectionDecoratorpublic boolean remove(java.lang.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 java.util.Collectionremove in interface Bagremove in class AbstractCollectionDecoratortrue if this call changed the collectionpublic boolean removeAll(java.util.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 java.util.CollectionremoveAll in interface BagremoveAll in class AbstractCollectionDecoratorcoll - the collection to removetrue if this call changed the collectionpublic boolean retainAll(java.util.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 java.util.CollectionretainAll in interface BagretainAll in class AbstractCollectionDecoratorcoll - the collection to retaintrue if this call changed the collectionpublic boolean add(java.lang.Object 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 Bagadd in class AbstractBagDecoratorobject - the object to addcount - the number of copies to addtrue if the object was not already in the uniqueSetpublic boolean remove(java.lang.Object object,
int count)
BagnCopies 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 Bagremove in class AbstractBagDecoratorobject - the object to removecount - the number of copies to removetrue if this call changed the collectionpublic java.util.Set uniqueSet()
BagSet of unique elements in the Bag.
Uniqueness constraints are the same as those in Set.
uniqueSet in interface BaguniqueSet in class AbstractBagDecoratorCopyright © 2010 - 2023 Adobe. All Rights Reserved