EDU.oswego.cs.dl.util.concurrent
Class SyncSet

java.lang.Object
  extended by EDU.oswego.cs.dl.util.concurrent.SyncCollection
      extended by EDU.oswego.cs.dl.util.concurrent.SyncSet
All Implemented Interfaces:
java.lang.Iterable, java.util.Collection, java.util.Set
Direct Known Subclasses:
SyncSortedSet

public class SyncSet
extends SyncCollection
implements java.util.Set

SyncSets wrap Sync-based control around java.util.Sets. They support two additional reader operations than do SyncCollection: hashCode and equals.

[ Introduction to this package. ]

See Also:
SyncCollection

Nested Class Summary
 
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
SyncSet(java.util.Set set, ReadWriteLock rwl)
          Create a new SyncSet protecting the given set, and using the given ReadWriteLock to control reader and writer methods.
SyncSet(java.util.Set set, Sync sync)
          Create a new SyncSet protecting the given collection, and using the given sync to control both reader and writer methods.
SyncSet(java.util.Set set, Sync readLock, Sync writeLock)
          Create a new SyncSet protecting the given set, and using the given pair of locks to control reader and writer methods.
 
Method Summary
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 
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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Set
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 

Constructor Detail

SyncSet

public SyncSet(java.util.Set set,
               Sync sync)
Create a new SyncSet 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.


SyncSet

public SyncSet(java.util.Set set,
               ReadWriteLock rwl)
Create a new SyncSet protecting the given set, and using the given ReadWriteLock to control reader and writer methods.


SyncSet

public SyncSet(java.util.Set set,
               Sync readLock,
               Sync writeLock)
Create a new SyncSet protecting the given set, and using the given pair of locks to control reader and writer methods.

Method Detail

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection
Specified by:
hashCode in interface java.util.Set
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Collection
Specified by:
equals in interface java.util.Set
Overrides:
equals in class java.lang.Object