net.sf.collections15.list
Class SynchronizedList<E>

java.lang.Object
  extended by net.sf.collections15.collection.SynchronizedCollection<E>
      extended by net.sf.collections15.list.SynchronizedList<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>

public class SynchronizedList<E>
extends SynchronizedCollection<E>
implements java.util.List<E>

Decorates another List 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: 1.1 $ $Date: 2005/05/03 22:45:38 $
Author:
Stephen Colebourne
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.sf.collections15.collection.SynchronizedCollection
collection, lock
 
Constructor Summary
protected SynchronizedList(java.util.List<E> list)
          Constructor that wraps (not copies).
protected SynchronizedList(java.util.List<E> list, java.lang.Object lock)
          Constructor that wraps (not copies).
 
Method Summary
 void add(int index, E object)
           
 boolean addAll(int index, java.util.Collection<? extends E> coll)
           
static
<T> java.util.List<T>
decorate(java.util.List<T> list)
          Factory method to create a synchronized list.
 E get(int index)
           
protected  java.util.List<E> getList()
          Gets the decorated list.
 int indexOf(java.lang.Object object)
           
 int lastIndexOf(java.lang.Object object)
           
 java.util.ListIterator<E> listIterator()
          Iterators must be manually synchronized.
 java.util.ListIterator<E> listIterator(int index)
          Iterators must be manually synchronized.
 E remove(int index)
           
 E set(int index, E object)
           
 java.util.List<E> subList(int fromIndex, int toIndex)
           
 
Methods inherited from class net.sf.collections15.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.List
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

SynchronizedList

protected SynchronizedList(java.util.List<E> list)
Constructor that wraps (not copies).

Parameters:
list - the list to decorate, must not be null
Throws:
java.lang.IllegalArgumentException - if list is null

SynchronizedList

protected SynchronizedList(java.util.List<E> list,
                           java.lang.Object lock)
Constructor that wraps (not copies).

Parameters:
list - the list to decorate, must not be null
lock - the lock to use, must not be null
Throws:
java.lang.IllegalArgumentException - if list is null
Method Detail

decorate

public static <T> java.util.List<T> decorate(java.util.List<T> list)
Factory method to create a synchronized list.

Parameters:
list - the list to decorate, must not be null
Throws:
java.lang.IllegalArgumentException - if list is null

getList

protected java.util.List<E> getList()
Gets the decorated list.

Returns:
the decorated list

add

public void add(int index,
                E object)
Specified by:
add in interface java.util.List<E>

addAll

public boolean addAll(int index,
                      java.util.Collection<? extends E> coll)
Specified by:
addAll in interface java.util.List<E>

get

public E get(int index)
Specified by:
get in interface java.util.List<E>

indexOf

public int indexOf(java.lang.Object object)
Specified by:
indexOf in interface java.util.List<E>

lastIndexOf

public int lastIndexOf(java.lang.Object object)
Specified by:
lastIndexOf in interface java.util.List<E>

listIterator

public java.util.ListIterator<E> listIterator()
Iterators must be manually synchronized.
 synchronized (coll) {
   ListIterator it = coll.listIterator();
   // do stuff with iterator
 }

Specified by:
listIterator in interface java.util.List<E>
Returns:
an iterator that must be manually synchronized on the collection

listIterator

public java.util.ListIterator<E> listIterator(int index)
Iterators must be manually synchronized.
 synchronized (coll) {
   ListIterator it = coll.listIterator(3);
   // do stuff with iterator
 }

Specified by:
listIterator in interface java.util.List<E>
Returns:
an iterator that must be manually synchronized on the collection

remove

public E remove(int index)
Specified by:
remove in interface java.util.List<E>

set

public E set(int index,
             E object)
Specified by:
set in interface java.util.List<E>

subList

public java.util.List<E> subList(int fromIndex,
                                 int toIndex)
Specified by:
subList in interface java.util.List<E>


Copyright © 2001-2005 SourceForge.net. All Rights Reserved.