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.AbstractMapA 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 interfaceWeakCache.Visitor
-
Field Summary
Fields Modifier and Type Field Description private java.util.Mapmap
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)protected java.lang.ref.ReferencecreateReference(java.lang.Object value)java.util.SetentrySet()booleanequals(java.lang.Object o)java.lang.Objectget(java.lang.Object key)inthashCode()private java.lang.Objectiterate(WeakCache.Visitor visitor, int type)java.util.SetkeySet()java.lang.Objectput(java.lang.Object key, java.lang.Object value)java.lang.Objectremove(java.lang.Object key)intsize()java.lang.StringtoString()java.util.Collectionvalues()
-
-
-
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:
getin interfacejava.util.Map- Overrides:
getin classjava.util.AbstractMap
-
put
public java.lang.Object put(java.lang.Object key, java.lang.Object value)- Specified by:
putin interfacejava.util.Map- Overrides:
putin classjava.util.AbstractMap
-
remove
public java.lang.Object remove(java.lang.Object key)
- Specified by:
removein interfacejava.util.Map- Overrides:
removein classjava.util.AbstractMap
-
createReference
protected java.lang.ref.Reference createReference(java.lang.Object value)
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map- Overrides:
containsValuein classjava.util.AbstractMap
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map- Overrides:
sizein classjava.util.AbstractMap
-
values
public java.util.Collection values()
- Specified by:
valuesin interfacejava.util.Map- Overrides:
valuesin classjava.util.AbstractMap
-
entrySet
public java.util.Set entrySet()
- Specified by:
entrySetin interfacejava.util.Map- Specified by:
entrySetin classjava.util.AbstractMap
-
iterate
private java.lang.Object iterate(WeakCache.Visitor visitor, int type)
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map- Overrides:
containsKeyin classjava.util.AbstractMap
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map- Overrides:
clearin classjava.util.AbstractMap
-
keySet
public java.util.Set keySet()
- Specified by:
keySetin interfacejava.util.Map- Overrides:
keySetin classjava.util.AbstractMap
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin interfacejava.util.Map- Overrides:
equalsin classjava.util.AbstractMap
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map- Overrides:
hashCodein classjava.util.AbstractMap
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.util.AbstractMap
-
-