Class SynchronizedList
- java.lang.Object
-
- org.apache.commons.collections.collection.SynchronizedCollection
-
- org.apache.commons.collections.list.SynchronizedList
-
- All Implemented Interfaces:
Serializable
,Iterable
,Collection
,List
public class SynchronizedList extends SynchronizedCollection implements List
Decorates anotherList
to synchronize its behaviour for a multi-threaded environment.Methods are synchronized, then forwarded to the decorated list.
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 inherited from class org.apache.commons.collections.collection.SynchronizedCollection
collection, lock
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SynchronizedList(List list)
Constructor that wraps (not copies).protected
SynchronizedList(List list, Object lock)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, Object object)
boolean
addAll(int index, Collection coll)
static List
decorate(List list)
Factory method to create a synchronized list.Object
get(int index)
protected List
getList()
Gets the decorated list.int
indexOf(Object object)
int
lastIndexOf(Object object)
ListIterator
listIterator()
Iterators must be manually synchronized.ListIterator
listIterator(int index)
Iterators must be manually synchronized.Object
remove(int index)
Object
set(int index, Object object)
List
subList(int fromIndex, int toIndex)
-
Methods inherited from class org.apache.commons.collections.collection.SynchronizedCollection
add, addAll, clear, contains, containsAll, decorate, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
-
-
-
Constructor Detail
-
SynchronizedList
protected SynchronizedList(List list)
Constructor that wraps (not copies).- Parameters:
list
- the list to decorate, must not be null- Throws:
IllegalArgumentException
- if list is null
-
SynchronizedList
protected SynchronizedList(List list, Object lock)
Constructor that wraps (not copies).- Parameters:
list
- the list to decorate, must not be nulllock
- the lock to use, must not be null- Throws:
IllegalArgumentException
- if list is null
-
-
Method Detail
-
decorate
public static List decorate(List list)
Factory method to create a synchronized list.- Parameters:
list
- the list to decorate, must not be null- Throws:
IllegalArgumentException
- if list is null
-
getList
protected List getList()
Gets the decorated list.- Returns:
- the decorated list
-
addAll
public boolean addAll(int index, Collection coll)
-
lastIndexOf
public int lastIndexOf(Object object)
- Specified by:
lastIndexOf
in interfaceList
-
listIterator
public ListIterator listIterator()
Iterators must be manually synchronized.synchronized (coll) { ListIterator it = coll.listIterator(); // do stuff with iterator }
- Specified by:
listIterator
in interfaceList
- Returns:
- an iterator that must be manually synchronized on the collection
-
listIterator
public ListIterator listIterator(int index)
Iterators must be manually synchronized.synchronized (coll) { ListIterator it = coll.listIterator(3); // do stuff with iterator }
- Specified by:
listIterator
in interfaceList
- Returns:
- an iterator that must be manually synchronized on the collection
-
-