public interface

Cache

org.springframework.cache.Cache<K, V>
Known Indirect Subclasses

Class Overview

Interface that defines the common cache operations. Note: Due to the generic use of caching, it is recommended that implementations allow storage of null values (for example to cache methods that return null).

Summary

Public Methods
abstract void clear()
Removes all mappings from the cache.
abstract boolean containsKey(Object key)
Returns true if this cache contains a mapping for the specified key.
abstract V get(Object key)
Returns the value to which this cache maps the specified key.
abstract String getName()
Returns the cache name.
abstract Object getNativeCache()
Returns the the native, underlying cache provider.
abstract V put(K key, V value)
Associates the specified value with the specified key in this cache (optional operation).
abstract V putIfAbsent(K key, V value)
If the specified key is not already associated with a value, associate it with the given value.
abstract V remove(Object key)
Removes the mapping for this key from this cache if it is present (optional operation).
abstract boolean remove(Object key, Object value)
Remove entry for key only if currently mapped to given value.
abstract boolean replace(K key, V oldValue, V newValue)
Replace entry for key only if currently mapped to given value.
abstract V replace(K key, V value)
Replace entry for key only if currently mapped to some value.

Public Methods

public abstract void clear ()

Removes all mappings from the cache.

public abstract boolean containsKey (Object key)

Returns true if this cache contains a mapping for the specified key. More formally, returns true if and only if this cache contains a mapping for a key k such that (key==null ? k==null : key.equals(k)). (There can be at most one such mapping.)

Parameters
key key whose presence in this cache is to be tested.
Returns
  • true if this cache contains a mapping for the specified key.

public abstract V get (Object key)

Returns the value to which this cache maps the specified key. Returns null if the cache contains no mapping for this key. A return value of null does not necessarily indicate that the cache contains no mapping for the key; it's also possible that the cache explicitly maps the key to null. The containsKey operation may be used to distinguish these two cases.

More formally, if this cache contains a mapping from a key k to a value v such that (key==null ? k==null : key.equals(k)), then this method returns v; otherwise it returns null. (There can be at most one such mapping.)

Parameters
key key whose associated value is to be returned.
Returns
  • the value to which this cache maps the specified key, or null if the cache contains no mapping for this key.

public abstract String getName ()

Returns the cache name.

Returns
  • the cache name.

public abstract Object getNativeCache ()

Returns the the native, underlying cache provider.

public abstract V put (K key, V value)

Associates the specified value with the specified key in this cache (optional operation). If the cache previously contained a mapping for this key, the old value is replaced by the specified value. (A cache m is said to contain a mapping for a key k if and only if m.containsKey(k) would return true.))

Parameters
key key with which the specified value is to be associated.
value value to be associated with the specified key.
Returns
  • previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the cache previously associated null with the specified key, if the implementation supports null values.

public abstract V putIfAbsent (K key, V value)

If the specified key is not already associated with a value, associate it with the given value. This is equivalent to:

  if (!cache.containsKey(key)) 
     return cache.put(key, value);
  else
     return cache.get(key);
	

Parameters
key key with which the specified value is to be associated.
value value to be associated with the specified key.
Returns
  • previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the cache previously associated null with the specified key, if the implementation supports null values.

public abstract V remove (Object key)

Removes the mapping for this key from this cache if it is present (optional operation). More formally, if this cache contains a mapping from key k to value v such that (key==null ? k==null : key.equals(k)), that mapping is removed. (The cache can contain at most one such mapping.)

Returns the value to which the cache previously associated the key, or null if the cache contained no mapping for this key. (A null return can also indicate that the cache previously associated null with the specified key if the implementation supports null values.) The cache will not contain a mapping for the specified key once the call returns.

Parameters
key key whose mapping is to be removed from the cache.
Returns
  • previous value associated with specified key, or null if there was no mapping for key.

public abstract boolean remove (Object key, Object value)

Remove entry for key only if currently mapped to given value. Similar to:

   if ((cache.containsKey(key) && cache.get(key).equals(value)) {
      cache.remove(key);
      return true;
   } 
   else 
      return false;
 

Parameters
key key with which the specified value is associated.
value value associated with the specified key.
Returns
  • true if the value was removed, false otherwise

public abstract boolean replace (K key, V oldValue, V newValue)

Replace entry for key only if currently mapped to given value. Similar to:

 
  if ((cache.containsKey(key) && cache.get(key).equals(oldValue)) {
     cache.put(key, newValue);
     return true;
 } else return false;
 

Parameters
key key with which the specified value is associated.
oldValue value expected to be associated with the specified key.
newValue value to be associated with the specified key.
Returns
  • true if the value was replaced

public abstract V replace (K key, V value)

Replace entry for key only if currently mapped to some value. Acts as

 
  if ((cache.containsKey(key)) {
     return cache.put(key, value);
 } else return null;
 
except that the action is performed atomically.

Parameters
key key with which the specified value is associated.
value value to be associated with the specified key.
Returns
  • previous value associated with specified key, or null if there was no mapping for key. A null return can also indicate that the cache previously associated null with the specified key, if the implementation supports null values.