Known Direct Subclasses
SynchronizedSortedBag |
Decorates another SortedBag to synchronize its behaviour
for a multi-threaded environment. |
|
Class Overview
Decorates another Bag
to synchronize its behaviour
for a multi-threaded environment.
Methods are synchronized, then forwarded to the decorated bag.
Iterators must be separately synchronized around the loop.
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)
Factory method to create a synchronized 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 bag being decorated.
|
[Expand]
Inherited Methods |
From class
org.apache.commons.collections.collection.SynchronizedCollection
|
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
SynchronizedBag
(Bag bag)
Constructor that wraps (not copies).
Parameters
bag
| the bag to decorate, must not be null |
protected
SynchronizedBag
(Bag bag, Object lock)
Constructor that wraps (not copies).
Parameters
bag
| the bag to decorate, must not be null |
lock
| the lock to use, 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)
Factory method to create a synchronized bag.
Parameters
bag
| the bag to decorate, 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
protected
Bag
getBag
()
Gets the bag being decorated.