com.triactive.jdo.util
Class SoftValueMap
java.lang.Object
java.util.AbstractMap
com.triactive.jdo.util.SoftValueMap
- All Implemented Interfaces:
- java.util.Map
public class SoftValueMap
- extends java.util.AbstractMap
A java.util.Map implementation with soft values.
The values are stored as soft references.
If map entry value object is not actively being used, i.e. no other object
has a strong reference to it, it may become garbage collected at the
discretion of the garbage collector (typically if the VM is low on memory).
If this happens, the entry in the SoftValueMap corresponding to
the value object will also be removed.
- Author:
- Mike Martin
- See Also:
SoftReference
| Nested classes/interfaces inherited from interface java.util.Map |
java.util.Map.Entry<K,V> |
|
Field Summary |
protected java.lang.ref.ReferenceQueue |
refQueue
|
|
Method Summary |
boolean |
containsKey(java.lang.Object key)
|
boolean |
containsValue(java.lang.Object value)
|
java.util.Set |
entrySet()
|
boolean |
equals(java.lang.Object o)
|
java.lang.Object |
get(java.lang.Object key)
|
int |
hashCode()
|
boolean |
isEmpty()
|
java.util.Set |
keySet()
|
protected java.lang.ref.Reference |
newReference(java.lang.Object value)
Returns a new Reference object to be inserted into the map. |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
|
java.lang.Object |
remove(java.lang.Object key)
|
int |
size()
|
java.lang.String |
toString()
|
java.util.Collection |
values()
|
| Methods inherited from class java.util.AbstractMap |
clear, clone, putAll |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
refQueue
protected final java.lang.ref.ReferenceQueue refQueue
SoftValueMap
public SoftValueMap()
SoftValueMap
public SoftValueMap(int initialCapacity)
SoftValueMap
public SoftValueMap(int initialCapacity,
float loadFactor)
SoftValueMap
public SoftValueMap(java.util.Map m)
newReference
protected java.lang.ref.Reference newReference(java.lang.Object value)
- 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:
value - The associated value to be referenced.
- Returns:
- A new
Reference object to be inserted into the map.
put
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
- Specified by:
put in interface java.util.Map- Overrides:
put in class java.util.AbstractMap
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get in interface java.util.Map- Overrides:
get in class java.util.AbstractMap
size
public int size()
- Specified by:
size in interface java.util.Map- Overrides:
size in class java.util.AbstractMap
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface java.util.Map- Overrides:
isEmpty in class java.util.AbstractMap
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey in interface java.util.Map- Overrides:
containsKey in class java.util.AbstractMap
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue in interface java.util.Map- Overrides:
containsValue in class java.util.AbstractMap
keySet
public java.util.Set keySet()
- Specified by:
keySet in interface java.util.Map- Overrides:
keySet in class java.util.AbstractMap
values
public java.util.Collection values()
- Specified by:
values in interface java.util.Map- Overrides:
values in class java.util.AbstractMap
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet in interface java.util.Map- Specified by:
entrySet in class java.util.AbstractMap
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove in interface java.util.Map- Overrides:
remove in class java.util.AbstractMap
hashCode
public int hashCode()
- Specified by:
hashCode in interface java.util.Map- Overrides:
hashCode in class java.util.AbstractMap
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals in interface java.util.Map- Overrides:
equals in class java.util.AbstractMap
toString
public java.lang.String toString()
- Overrides:
toString in class java.util.AbstractMap
Copyright ? 2001-2007 The TJDO Project All Rights Reserved.