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.