Class SynchronizedCollection
- java.lang.Object
-
- org.apache.commons.collections.collection.SynchronizedCollection
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable
,java.util.Collection
- Direct Known Subclasses:
SynchronizedBag
,SynchronizedBuffer
,SynchronizedList
,SynchronizedSet
,SynchronizedSortedSet
public class SynchronizedCollection extends java.lang.Object implements java.util.Collection, java.io.Serializable
Decorates anotherCollection
to synchronize its behaviour for a multi-threaded environment.Iterators must be manually synchronized:
synchronized (coll) { Iterator it = coll.iterator(); // do stuff with iterator }
This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- Version:
- $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Collection
collection
The collection to decorateprotected java.lang.Object
lock
The object to lock on, needed for List/SortedSet viewsprivate static long
serialVersionUID
Serialization version
-
Constructor Summary
Constructors Modifier Constructor Description protected
SynchronizedCollection(java.util.Collection collection)
Constructor that wraps (not copies).protected
SynchronizedCollection(java.util.Collection collection, java.lang.Object lock)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(java.lang.Object object)
boolean
addAll(java.util.Collection coll)
void
clear()
boolean
contains(java.lang.Object object)
boolean
containsAll(java.util.Collection coll)
static java.util.Collection
decorate(java.util.Collection coll)
Factory method to create a synchronized collection.boolean
equals(java.lang.Object object)
int
hashCode()
boolean
isEmpty()
java.util.Iterator
iterator()
Iterators must be manually synchronized.boolean
remove(java.lang.Object object)
boolean
removeAll(java.util.Collection coll)
boolean
retainAll(java.util.Collection coll)
int
size()
java.lang.Object[]
toArray()
java.lang.Object[]
toArray(java.lang.Object[] object)
java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serialization version- See Also:
- Constant Field Values
-
collection
protected final java.util.Collection collection
The collection to decorate
-
lock
protected final java.lang.Object lock
The object to lock on, needed for List/SortedSet views
-
-
Constructor Detail
-
SynchronizedCollection
protected SynchronizedCollection(java.util.Collection collection)
Constructor that wraps (not copies).- Parameters:
collection
- the collection to decorate, must not be null- Throws:
java.lang.IllegalArgumentException
- if the collection is null
-
SynchronizedCollection
protected SynchronizedCollection(java.util.Collection collection, java.lang.Object lock)
Constructor that wraps (not copies).- Parameters:
collection
- the collection to decorate, must not be nulllock
- the lock object to use, must not be null- Throws:
java.lang.IllegalArgumentException
- if the collection is null
-
-
Method Detail
-
decorate
public static java.util.Collection decorate(java.util.Collection coll)
Factory method to create a synchronized collection.- Parameters:
coll
- the collection to decorate, must not be null- Returns:
- a new synchronized collection
- Throws:
java.lang.IllegalArgumentException
- if collection is null
-
add
public boolean add(java.lang.Object object)
- Specified by:
add
in interfacejava.util.Collection
-
addAll
public boolean addAll(java.util.Collection coll)
- Specified by:
addAll
in interfacejava.util.Collection
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection
-
contains
public boolean contains(java.lang.Object object)
- Specified by:
contains
in interfacejava.util.Collection
-
containsAll
public boolean containsAll(java.util.Collection coll)
- Specified by:
containsAll
in interfacejava.util.Collection
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Collection
-
iterator
public java.util.Iterator iterator()
Iterators must be manually synchronized.synchronized (coll) { Iterator it = coll.iterator(); // do stuff with iterator }
- Specified by:
iterator
in interfacejava.util.Collection
- Specified by:
iterator
in interfacejava.lang.Iterable
- Returns:
- an iterator that must be manually synchronized on the collection
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.Collection
-
toArray
public java.lang.Object[] toArray(java.lang.Object[] object)
- Specified by:
toArray
in interfacejava.util.Collection
-
remove
public boolean remove(java.lang.Object object)
- Specified by:
remove
in interfacejava.util.Collection
-
removeAll
public boolean removeAll(java.util.Collection coll)
- Specified by:
removeAll
in interfacejava.util.Collection
-
retainAll
public boolean retainAll(java.util.Collection coll)
- Specified by:
retainAll
in interfacejava.util.Collection
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection
-
equals
public boolean equals(java.lang.Object object)
- Specified by:
equals
in interfacejava.util.Collection
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Collection
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-