Package org.apache.cxf.common.util
Class CacheMap<K,V>
- java.lang.Object
-
- org.apache.cxf.common.util.CacheMap<K,V>
-
- All Implemented Interfaces:
Map<K,V>
public class CacheMap<K,V> extends Object implements Map<K,V>
Implements a useful caching map. It weakly references the keys, but strongly references the data. It works much like the WeakHashMap, in that when the keys are garbage collected, the data is removed from the map. The main difference is that keys used for lookups don't have to be "==" the same to maintain the data in the cache. Basically, lookups in this map use a ".equals" compare, but the keys are then stored with a "==" compare so if the original key is garbage collected, the other keys that may reference the data keep the data in the cache. Note that this implementation is not synchronized. Not even a little. 'Read-only' operations can trigger internal modifications. If you share this class between threads, you must protect every operation.
-
-
Constructor Summary
Constructors Constructor Description CacheMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<K,V>>
entrySet()
V
get(Object key)
boolean
isEmpty()
Set<K>
keySet()
V
put(K key, V value)
void
putAll(Map<? extends K,? extends V> t)
V
remove(Object key)
int
size()
String
toString()
Collection<V>
values()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-