org.apache.openjpa.lib.util.concurrent
Class ConcurrentReferenceHashSet<E>

java.lang.Object
  extended by org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashSet<E>
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Set<E>

public class ConcurrentReferenceHashSet<E>
extends java.lang.Object
implements java.util.Set<E>, java.io.Serializable

A concurrent set whose values may be stored as weak or soft references. If the constructor is invoked with refType set to HARD, this uses a JDK1.5 ConcurrentHashMap under the covers. Otherwise, it uses a ConcurrentReferenceHashMap.

Author:
Abe White
See Also:
Serialized Form

Field Summary
static int HARD
          Hard reference marker.
static int SOFT
          Soft reference marker.
static int WEAK
          Weak reference marker.
 
Constructor Summary
ConcurrentReferenceHashSet(int refType)
          Construct a set with the given reference type.
 
Method Summary
 boolean add(E obj)
           
 boolean addAll(java.util.Collection<? extends E> coll)
           
 void clear()
           
 boolean contains(java.lang.Object obj)
           
 boolean containsAll(java.util.Collection<?> coll)
           
 boolean equals(java.lang.Object obj)
           
 int hashCode()
           
 boolean isEmpty()
           
 java.util.Iterator<E> iterator()
           
 boolean remove(java.lang.Object obj)
           
 boolean removeAll(java.util.Collection<?> coll)
           
 boolean retainAll(java.util.Collection<?> coll)
           
 int size()
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] arr)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HARD

public static final int HARD
Hard reference marker.

See Also:
Constant Field Values

SOFT

public static final int SOFT
Soft reference marker.

See Also:
Constant Field Values

WEAK

public static final int WEAK
Weak reference marker.

See Also:
Constant Field Values
Constructor Detail

ConcurrentReferenceHashSet

public ConcurrentReferenceHashSet(int refType)
Construct a set with the given reference type.

Method Detail

add

public boolean add(E obj)
Specified by:
add in interface java.util.Collection<E>
Specified by:
add in interface java.util.Set<E>

addAll

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

clear

public void clear()
Specified by:
clear in interface java.util.Collection<E>
Specified by:
clear in interface java.util.Set<E>

contains

public boolean contains(java.lang.Object obj)
Specified by:
contains in interface java.util.Collection<E>
Specified by:
contains in interface java.util.Set<E>

containsAll

public boolean containsAll(java.util.Collection<?> coll)
Specified by:
containsAll in interface java.util.Collection<E>
Specified by:
containsAll in interface java.util.Set<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<E>
Specified by:
isEmpty in interface java.util.Set<E>

iterator

public java.util.Iterator<E> iterator()
Specified by:
iterator in interface java.lang.Iterable<E>
Specified by:
iterator in interface java.util.Collection<E>
Specified by:
iterator in interface java.util.Set<E>

remove

public boolean remove(java.lang.Object obj)
Specified by:
remove in interface java.util.Collection<E>
Specified by:
remove in interface java.util.Set<E>

removeAll

public boolean removeAll(java.util.Collection<?> coll)
Specified by:
removeAll in interface java.util.Collection<E>
Specified by:
removeAll in interface java.util.Set<E>

retainAll

public boolean retainAll(java.util.Collection<?> coll)
Specified by:
retainAll in interface java.util.Collection<E>
Specified by:
retainAll in interface java.util.Set<E>

size

public int size()
Specified by:
size in interface java.util.Collection<E>
Specified by:
size in interface java.util.Set<E>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<E>
Specified by:
toArray in interface java.util.Set<E>

toArray

public <T> T[] toArray(T[] arr)
Specified by:
toArray in interface java.util.Collection<E>
Specified by:
toArray in interface java.util.Set<E>

hashCode

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

equals

public boolean equals(java.lang.Object obj)
Specified by:
equals in interface java.util.Collection<E>
Specified by:
equals in interface java.util.Set<E>
Overrides:
equals in class java.lang.Object