Class UnmodifiableBag<E>
- Type Parameters:
- E- the type of elements in this bag
- All Implemented Interfaces:
- Serializable,- Iterable<E>,- Collection<E>,- Bag<E>,- Unmodifiable
Bag to ensure it can't be altered.
 This class is Serializable from Commons Collections 3.1.
Attempts to modify it will result in an UnsupportedOperationException.
- Since:
- 3.0
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionboolean(Violation) Adds one copy of the specified object to the Bag.booleanAddsnCopiescopies of the specified object to the Bag.booleanaddAll(Collection<? extends E> coll) voidclear()iterator()Returns anIteratorover the entire set of members, including copies due to cardinality.boolean(Violation) Removes all occurrences of the given object from the bag.booleanRemovesnCopiescopies of the specified object from the Bag.booleanremoveAll(Collection<?> coll) (Violation) Remove all elements represented in the given collection, respecting cardinality.booleanbooleanretainAll(Collection<?> coll) (Violation) Remove any members of the bag that are not in the given collection, respecting cardinality.Returns aSetof unique elements in the Bag.static <E> Bag<E> unmodifiableBag(Bag<? extends E> bag) Factory method to create an unmodifiable bag.Methods inherited from class org.apache.commons.collections4.bag.AbstractBagDecoratordecorated, equals, getCount, hashCodeMethods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecoratorcontains, containsAll, isEmpty, setCollection, size, toArray, toArray, toStringMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.commons.collections4.BagcontainsAll, sizeMethods inherited from interface java.util.Collectioncontains, isEmpty, parallelStream, spliterator, stream, toArray, toArray
- 
Method Details- 
unmodifiableBagFactory method to create an unmodifiable bag.If the bag passed in is already unmodifiable, it is returned. - Type Parameters:
- E- the type of the elements in the bag
- Parameters:
- bag- the bag to decorate, must not be null
- Returns:
- an unmodifiable Bag
- Throws:
- NullPointerException- if bag is null
- Since:
- 4.0
 
- 
addDescription copied from interface:Bag(Violation) Adds one copy of the specified object to the Bag.If the object is already in the Bag.uniqueSet()then increment its count as reported byBag.getCount(Object). Otherwise add it to theBag.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 returntrue. Since it sometimes returnsfalse, this method violates the contract.- Specified by:
- addin interface- Bag<E>
- Specified by:
- addin interface- Collection<E>
- Overrides:
- addin class- AbstractCollectionDecorator<E>
- Parameters:
- object- the object to add
- Returns:
- trueif the object was not already in the- uniqueSet
 
- 
addDescription copied from interface:BagAddsnCopiescopies of the specified object to the Bag.If the object is already in the Bag.uniqueSet()then increment its count as reported byBag.getCount(Object). Otherwise add it to theBag.uniqueSet()and report its count asnCopies.
- 
addAll- Specified by:
- addAllin interface- Collection<E>
- Overrides:
- addAllin class- AbstractCollectionDecorator<E>
 
- 
clear- Specified by:
- clearin interface- Collection<E>
- Overrides:
- clearin class- AbstractCollectionDecorator<E>
 
- 
iterator
- 
removeDescription copied from interface:Bag(Violation) Removes all occurrences of the given object from the 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.- Specified by:
- removein interface- Bag<E>
- Specified by:
- removein interface- Collection<E>
- Overrides:
- removein class- AbstractCollectionDecorator<E>
- Parameters:
- object- the object to remove
- Returns:
- trueif this call changed the collection
 
- 
removeDescription copied from interface:BagRemovesnCopiescopies 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. 
- 
removeAllDescription copied from interface:Bag(Violation) Remove all elements represented in the given collection, respecting cardinality. That is, if the given collectioncollcontainsncopies of a given object, the bag will havenfewer copies, assuming the bag had at leastncopies 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.- Specified by:
- removeAllin interface- Bag<E>
- Specified by:
- removeAllin interface- Collection<E>
- Overrides:
- removeAllin class- AbstractCollectionDecorator<E>
- Parameters:
- coll- the collection to remove
- Returns:
- trueif this call changed the collection
 
- 
removeIf- Specified by:
- removeIfin interface- Collection<E>
- Overrides:
- removeIfin class- AbstractCollectionDecorator<E>
- Since:
- 4.4
 
- 
retainAllDescription copied from interface:Bag(Violation) Remove any members of the bag that are not in the given collection, respecting cardinality. That is, if the given collectioncollcontainsncopies of a given object and the bag hasm > ncopies, then deletem - ncopies from the bag. In addition, ifeis an object in the bag but!coll.contains(e), then removeeand 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.- Specified by:
- retainAllin interface- Bag<E>
- Specified by:
- retainAllin interface- Collection<E>
- Overrides:
- retainAllin class- AbstractCollectionDecorator<E>
- Parameters:
- coll- the collection to retain
- Returns:
- trueif this call changed the collection
 
- 
uniqueSetDescription copied from interface:Bag
 
-