org.simpleframework.xml.util
Interface Cache<T>

All Known Implementing Classes:
ConcurrentCache, LimitedCache, WeakCache

public interface Cache<T>

The Cache interface is used to represent a cache that will store key value pairs. The cache exposes only several methods to ensure that implementations can focus on performance concerns rather than how to manage the cached values.

Author:
Niall Gallagher

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.
 boolean isEmpty()
          This method is used to determine if the cache is empty.
 T take(Object key)
          This is used to exclusively take the value mapped to the specified key from the cache.
 

Method Detail

isEmpty

boolean isEmpty()
This method is used to determine if the cache is empty. This is done by checking if there are any elements in the cache. If anything has been cached this will return false.

Returns:
this returns true if the cache is empty

cache

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.

Parameters:
key - this is the key to cache the provided value to
value - this is the value that is to be cached

take

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.

Parameters:
key - this is the key to acquire the cache value with
Returns:
this returns the value mapped to the specified key

fetch

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.

Parameters:
key - this is the key to acquire the cache value with
Returns:
this returns the value mapped to the specified key

contains

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.

Parameters:
key - this is the key to check within this segment
Returns:
true if the specified key is within the cache