com.triactive.jdo.util
Class ReferenceValueMap
java.lang.Object
com.triactive.jdo.util.ReferenceValueMap
- All Implemented Interfaces:
- java.lang.Cloneable, java.util.Map
- Direct Known Subclasses:
- SoftValueMap, WeakValueMap
public abstract class ReferenceValueMap
- extends java.lang.Object
- implements java.util.Map, java.lang.Cloneable
A java.util.Map
implementation using reference values.
The values are stored in the map as references. If the garbage collector
clears the reference, the corresponding key is automatically removed from the
map.
- Author:
- Mike Martin
- See Also:
Reference
Nested Class Summary |
static interface |
ReferenceValueMap.ValueReference
References returned by newValueReference must implement
this interface to provide the corresponding map key for the value. |
Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
ReferenceValueMap
public ReferenceValueMap()
ReferenceValueMap
public ReferenceValueMap(int initialCapacity)
ReferenceValueMap
public ReferenceValueMap(int initialCapacity,
float loadFactor)
ReferenceValueMap
public ReferenceValueMap(java.util.Map m)
clone
public java.lang.Object clone()
- Overrides:
clone
in class java.lang.Object
newValueReference
protected abstract ReferenceValueMap.ValueReference newValueReference(java.lang.Object key,
java.lang.Object value,
java.lang.ref.ReferenceQueue queue)
- Returns a new
Reference
object to be inserted into the map.
Subclasses must implement this method to construct Reference
objects of the desired type (e.g. SoftReference
, etc.).
- Parameters:
key
- The key that will be inserted.value
- The associated value to be referenced.queue
- The ReferenceQueue
with which to register the
new Reference
object.
put
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
- Specified by:
put
in interface java.util.Map
putAll
public void putAll(java.util.Map m)
- Specified by:
putAll
in interface java.util.Map
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interface java.util.Map
clear
public void clear()
- Specified by:
clear
in interface java.util.Map
size
public int size()
- Specified by:
size
in interface java.util.Map
containsKey
public boolean containsKey(java.lang.Object obj)
- Specified by:
containsKey
in interface java.util.Map
containsValue
public boolean containsValue(java.lang.Object obj)
- Specified by:
containsValue
in interface java.util.Map
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface java.util.Map
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interface java.util.Map
values
public java.util.Collection values()
- Specified by:
values
in interface java.util.Map
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interface java.util.Map
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove
in interface java.util.Map
hashCode
public int hashCode()
- Specified by:
hashCode
in interface java.util.Map
- Overrides:
hashCode
in class java.lang.Object
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interface java.util.Map
- Overrides:
equals
in class java.lang.Object
reap
public void reap()
Copyright ? 2001 TriActive, Inc. All Rights Reserved.