|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.mina.util.LazyInitializedCacheMap<K,V>
public class LazyInitializedCacheMap<K,V>
This map is specially useful when reads are much more frequent than writes and
if the cost of instantiating the values is high like allocating an
IoBuffer for example.
Based on the final implementation of Memoizer written by Brian Goetz and Tim
Peierls. This implementation will return an
UnsupportedOperationException on each method that is not intended to
be called by user code for performance reasons.
| Nested Class Summary | |
|---|---|
class |
LazyInitializedCacheMap.NoopInitializer
This class provides a noop LazyInitializer meaning it
will return the same object it received when instantiated. |
| Nested classes/interfaces inherited from interface java.util.Map |
|---|
java.util.Map.Entry<K,V> |
| Constructor Summary | |
|---|---|
LazyInitializedCacheMap()
Default constructor. |
|
LazyInitializedCacheMap(java.util.concurrent.ConcurrentHashMap<K,LazyInitializer<V>> map)
This constructor allows to provide a fine tuned ConcurrentHashMap
to stick with each special case the user needs. |
|
| Method Summary | |
|---|---|
void |
clear()
|
boolean |
containsKey(java.lang.Object key)
|
boolean |
containsValue(java.lang.Object value)
|
java.util.Set<java.util.Map.Entry<K,V>> |
entrySet()
|
V |
get(java.lang.Object key)
|
java.util.Collection<LazyInitializer<V>> |
getValues()
|
boolean |
isEmpty()
|
java.util.Set<K> |
keySet()
|
V |
put(K key,
V value)
|
void |
putAll(java.util.Map<? extends K,? extends V> m)
|
V |
putIfAbsent(K key,
LazyInitializer<V> value)
If the specified key is not already associated with a value, associate it with the given value. |
V |
remove(java.lang.Object key)
|
int |
size()
|
java.util.Collection<V> |
values()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface java.util.Map |
|---|
equals, hashCode |
| Constructor Detail |
|---|
public LazyInitializedCacheMap()
ConcurrentHashMap.
public LazyInitializedCacheMap(java.util.concurrent.ConcurrentHashMap<K,LazyInitializer<V>> map)
ConcurrentHashMap
to stick with each special case the user needs.
| Method Detail |
|---|
public V get(java.lang.Object key)
get in interface java.util.Map<K,V>public V remove(java.lang.Object key)
remove in interface java.util.Map<K,V>
public V putIfAbsent(K key,
LazyInitializer<V> value)
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
except that the action is performed atomically.
key - key with which the specified value is to be associatedvalue - a lazy initialized value object.
public V put(K key,
V value)
put in interface java.util.Map<K,V>public boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Map<K,V>{@link - UnsupportedOperationException} as this method would imply
performance drops.public java.util.Collection<V> values()
values in interface java.util.Map<K,V>{@link - UnsupportedOperationException} as this method would imply
performance drops.public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
entrySet in interface java.util.Map<K,V>{@link - UnsupportedOperationException} as this method would imply
performance drops.public void putAll(java.util.Map<? extends K,? extends V> m)
putAll in interface java.util.Map<K,V>public java.util.Collection<LazyInitializer<V>> getValues()
public void clear()
clear in interface java.util.Map<K,V>public boolean containsKey(java.lang.Object key)
containsKey in interface java.util.Map<K,V>public boolean isEmpty()
isEmpty in interface java.util.Map<K,V>public java.util.Set<K> keySet()
keySet in interface java.util.Map<K,V>public int size()
size in interface java.util.Map<K,V>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||