Class SynchronizedCollection
- java.lang.Object
-
- org.apache.commons.collections.collection.SynchronizedCollection
-
- All Implemented Interfaces:
Serializable,Iterable,Collection
- Direct Known Subclasses:
SynchronizedBag,SynchronizedBuffer,SynchronizedList,SynchronizedSet,SynchronizedSortedSet
public class SynchronizedCollection extends Object implements Collection, Serializable
Decorates anotherCollectionto 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) $
- Author:
- Stephen Colebourne
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected CollectioncollectionThe collection to decorateprotected ObjectlockThe object to lock on, needed for List/SortedSet views
-
Constructor Summary
Constructors Modifier Constructor Description protectedSynchronizedCollection(Collection collection)Constructor that wraps (not copies).protectedSynchronizedCollection(Collection collection, Object lock)Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(Object object)booleanaddAll(Collection coll)voidclear()booleancontains(Object object)booleancontainsAll(Collection coll)static Collectiondecorate(Collection coll)Factory method to create a synchronized collection.booleanequals(Object object)inthashCode()booleanisEmpty()Iteratoriterator()Iterators must be manually synchronized.booleanremove(Object object)booleanremoveAll(Collection coll)booleanretainAll(Collection coll)intsize()Object[]toArray()Object[]toArray(Object[] object)StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, spliterator, stream, toArray
-
-
-
-
Field Detail
-
collection
protected final Collection collection
The collection to decorate
-
lock
protected final Object lock
The object to lock on, needed for List/SortedSet views
-
-
Constructor Detail
-
SynchronizedCollection
protected SynchronizedCollection(Collection collection)
Constructor that wraps (not copies).- Parameters:
collection- the collection to decorate, must not be null- Throws:
IllegalArgumentException- if the collection is null
-
SynchronizedCollection
protected SynchronizedCollection(Collection collection, 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:
IllegalArgumentException- if the collection is null
-
-
Method Detail
-
decorate
public static Collection decorate(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:
IllegalArgumentException- if collection is null
-
add
public boolean add(Object object)
- Specified by:
addin interfaceCollection
-
addAll
public boolean addAll(Collection coll)
- Specified by:
addAllin interfaceCollection
-
clear
public void clear()
- Specified by:
clearin interfaceCollection
-
contains
public boolean contains(Object object)
- Specified by:
containsin interfaceCollection
-
containsAll
public boolean containsAll(Collection coll)
- Specified by:
containsAllin interfaceCollection
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceCollection
-
iterator
public Iterator iterator()
Iterators must be manually synchronized.synchronized (coll) { Iterator it = coll.iterator(); // do stuff with iterator }- Specified by:
iteratorin interfaceCollection- Specified by:
iteratorin interfaceIterable- Returns:
- an iterator that must be manually synchronized on the collection
-
toArray
public Object[] toArray()
- Specified by:
toArrayin interfaceCollection
-
toArray
public Object[] toArray(Object[] object)
- Specified by:
toArrayin interfaceCollection
-
remove
public boolean remove(Object object)
- Specified by:
removein interfaceCollection
-
removeAll
public boolean removeAll(Collection coll)
- Specified by:
removeAllin interfaceCollection
-
retainAll
public boolean retainAll(Collection coll)
- Specified by:
retainAllin interfaceCollection
-
size
public int size()
- Specified by:
sizein interfaceCollection
-
equals
public boolean equals(Object object)
- Specified by:
equalsin interfaceCollection- Overrides:
equalsin classObject
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfaceCollection- Overrides:
hashCodein classObject
-
-