org.simpleframework.xml.util
Class ConcurrentCache<T>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.concurrent.ConcurrentHashMap<Object,T>
org.simpleframework.xml.util.ConcurrentCache<T>
- All Implemented Interfaces:
- Serializable, ConcurrentMap<Object,T>, Map<Object,T>, Cache<T>
public class ConcurrentCache<T>
- extends ConcurrentHashMap<Object,T>
- implements Cache<T>
The ConcurrentCache
interface is used to represent a
cache that will store key value pairs. This implementation is
backed by a ConcurrentHashMap
for best performance.
- Author:
- Niall Gallagher
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface java.util.Map |
Map.Entry<K,V> |
Constructor Summary |
ConcurrentCache()
Constructor for the ConcurrentCache object. |
Method Summary |
void |
cache(Object key,
T value)
This method is used to insert a key value mapping in to the
cache. |
boolean |
contains(Object key)
This is used to determine whether the specified key exists
with in the cache. |
T |
fetch(Object key)
This method is used to get the value from the cache that is
mapped to the specified key. |
T |
take(Object key)
This is used to exclusively take the value mapped to the
specified key from the cache. |
Methods inherited from class java.util.concurrent.ConcurrentHashMap |
clear, containsKey, containsValue, elements, entrySet, get, isEmpty, keys, keySet, put, putAll, putIfAbsent, remove, remove, replace, replace, size, values |
Methods inherited from interface org.simpleframework.xml.util.Cache |
isEmpty |
ConcurrentCache
public ConcurrentCache()
- Constructor for the
ConcurrentCache
object. This
is an implementation of a cache that uses the conventional
concurrent hash map from the Java collections API.
cache
public void cache(Object key,
T value)
- This method is used to insert a key value mapping in to the
cache. The value can later be retrieved or removed from the
cache if desired. If the value associated with the key is
null then nothing is stored within the cache.
- Specified by:
cache
in interface Cache<T>
- Parameters:
key
- this is the key to cache the provided value tovalue
- this is the value that is to be cached
take
public T take(Object key)
- This is used to exclusively take the value mapped to the
specified key from the cache. Invoking this is effectively
removing the value from the cache.
- Specified by:
take
in interface Cache<T>
- Parameters:
key
- this is the key to acquire the cache value with
- Returns:
- this returns the value mapped to the specified key
fetch
public T fetch(Object key)
- This method is used to get the value from the cache that is
mapped to the specified key. If there is no value mapped to
the specified key then this method will return a null.
- Specified by:
fetch
in interface Cache<T>
- Parameters:
key
- this is the key to acquire the cache value with
- Returns:
- this returns the value mapped to the specified key
contains
public boolean contains(Object key)
- This is used to determine whether the specified key exists
with in the cache. Typically this can be done using the
fetch method, which will acquire the object.
- Specified by:
contains
in interface Cache<T>
- Overrides:
contains
in class ConcurrentHashMap<Object,T>
- Parameters:
key
- this is the key to check within this segment
- Returns:
- true if the specified key is within the cache
Copyright © 2013. All Rights Reserved.