Class WeakCache
- java.lang.Object
-
- java.util.AbstractMap
-
- com.thoughtworks.xstream.core.util.WeakCache
-
- All Implemented Interfaces:
java.util.Map
public class WeakCache extends java.util.AbstractMap
A HashMap implementation with weak references values and by default for the key. When the value is garbage collected, the key will also vanish from the map.- Since:
- 1.4
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
WeakCache.Visitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map
map
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
protected java.lang.ref.Reference
createReference(java.lang.Object value)
java.util.Set
entrySet()
boolean
equals(java.lang.Object o)
java.lang.Object
get(java.lang.Object key)
int
hashCode()
private java.lang.Object
iterate(WeakCache.Visitor visitor, int type)
java.util.Set
keySet()
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()
-
-
-
Constructor Detail
-
WeakCache
public WeakCache()
Construct a WeakCache with weak keys.Note, that the internally used WeakHashMap is not thread-safe.
- Parameters:
map
- the map to use- Since:
- 1.4
-
WeakCache
public WeakCache(java.util.Map map)
Construct a WeakCache.- Parameters:
map
- the map to use- Since:
- 1.4
-
-
Method Detail
-
get
public java.lang.Object get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map
- Overrides:
get
in classjava.util.AbstractMap
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)
- Specified by:
put
in interfacejava.util.Map
- Overrides:
put
in classjava.util.AbstractMap
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
remove
in interfacejava.util.Map
- Overrides:
remove
in classjava.util.AbstractMap
-
createReference
protected java.lang.ref.Reference createReference(java.lang.Object value)
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map
- Overrides:
containsValue
in classjava.util.AbstractMap
-
size
public int size()
- Specified by:
size
in interfacejava.util.Map
- Overrides:
size
in classjava.util.AbstractMap
-
values
public java.util.Collection values()
- Specified by:
values
in interfacejava.util.Map
- Overrides:
values
in classjava.util.AbstractMap
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySet
in interfacejava.util.Map
- Specified by:
entrySet
in classjava.util.AbstractMap
-
iterate
private java.lang.Object iterate(WeakCache.Visitor visitor, int type)
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map
- Overrides:
containsKey
in classjava.util.AbstractMap
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Map
- Overrides:
clear
in classjava.util.AbstractMap
-
keySet
public java.util.Set keySet()
- Specified by:
keySet
in interfacejava.util.Map
- Overrides:
keySet
in classjava.util.AbstractMap
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Map
- Overrides:
equals
in classjava.util.AbstractMap
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Map
- Overrides:
hashCode
in classjava.util.AbstractMap
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.util.AbstractMap
-
-