EDU.oswego.cs.dl.util.concurrent

Class SyncList

Implemented Interfaces:
Collection, List

public class SyncList
extends SyncCollection
implements List

SyncLists wrap Sync-based control around java.util.Lists. They support the following additional reader operations over SyncCollection: hashCode, equals, get, indexOf, lastIndexOf, subList. They support additional writer operations remove(int), set(int), add(int), addAll(int). The corresponding listIterators and are similarly extended.

[ Introduction to this package. ]

See Also:
SyncCollection

Nested Class Summary

class
SyncList.SyncCollectionListIterator

Nested classes/interfaces inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection

SyncCollection.SyncCollectionIterator

Field Summary

Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection

c_, rd_, syncFailures_, wr_

Constructor Summary

SyncList(List list, ReadWriteLock rwl)
Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods.
SyncList(List list, Sync sync)
Create a new SyncList protecting the given collection, and using the given sync to control both reader and writer methods.
SyncList(List list, Sync readLock, Sync writeLock)
Create a new SyncList protecting the given list, and using the given pair of locks to control reader and writer methods.

Method Summary

void
add(int index, Object o)
boolean
addAll(int index, Collection coll)
protected List
baseList()
boolean
equals(Object o)
Object
get(int index)
int
hashCode()
int
indexOf(Object o)
int
lastIndexOf(Object o)
ListIterator
listIterator()
ListIterator
listIterator(int index)
Object
remove(int index)
Object
set(int index, Object o)
List
subList(int fromIndex, int toIndex)
ListIterator
unprotectedListIterator()
ListIterator
unprotectedListIterator(int index)

Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection

add, addAll, afterRead, beforeRead, clear, contains, containsAll, isEmpty, iterator, readerSync, remove, removeAll, retainAll, size, syncFailures, toArray, toArray, unprotectedIterator, writerSync

Constructor Details

SyncList

public SyncList(List list,
                ReadWriteLock rwl)
Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods.


SyncList

public SyncList(List list,
                Sync sync)
Create a new SyncList protecting the given collection, and using the given sync to control both reader and writer methods. Common, reasonable choices for the sync argument include Mutex, ReentrantLock, and Semaphores initialized to 1.


SyncList

public SyncList(List list,
                Sync readLock,
                Sync writeLock)
Create a new SyncList protecting the given list, and using the given pair of locks to control reader and writer methods.

Method Details

add

public void add(int index,
                Object o)


addAll

public boolean addAll(int index,
                      Collection coll)


baseList

protected List baseList()


equals

public boolean equals(Object o)


get

public Object get(int index)


hashCode

public int hashCode()


indexOf

public int indexOf(Object o)


lastIndexOf

public int lastIndexOf(Object o)


listIterator

public ListIterator listIterator()


listIterator

public ListIterator listIterator(int index)


remove

public Object remove(int index)


set

public Object set(int index,
                  Object o)


subList

public List subList(int fromIndex,
                    int toIndex)


unprotectedListIterator

public ListIterator unprotectedListIterator()


unprotectedListIterator

public ListIterator unprotectedListIterator(int index)