org.springframework.cache

## Interface Cache

- All Known Implementing Classes:
    ConcurrentMapCache, EhCacheCache, JCacheCache, TransactionAwareCacheDecorator

      public interface Cache

  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`).
  Since:
    3.1
  Author:
    Costin Leau

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `Cache.ValueWrapper` A (wrapper) object representing a cache value.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Remove all mappings from the cache.
    `void` | `evict(Object key)` Evict the mapping for this key from this cache if it is present.
    `Cache.ValueWrapper` | `get(Object key)` Return the value to which this cache maps the specified key.
    `String` | `getName()` Return the cache name.
    `Object` | `getNativeCache()` Return the the underlying native cache provider.
    `void` | `put(Object key, Object value)` Associate the specified value with the specified key in this cache.

- - ### Method Detail

    - #### getName

          String getName()

      Return the cache name.

    - #### getNativeCache

          Object getNativeCache()

      Return the the underlying native cache provider.

    - #### get

          Cache.ValueWrapper get(Object key)

      Return the value to which this cache maps the specified key.

      Returns `null` if the cache contains no mapping for this key; otherwise, the cached value (which may be `null` itself) will be returned in a `Cache.ValueWrapper`.

      Parameters:
        `key` - the key whose associated value is to be returned
      Returns:
        the value to which this cache maps the specified key, contained within a `Cache.ValueWrapper` which may also hold a cached `null` value. A straight `null` being returned means that the cache contains no mapping for this key.

    - #### put

          void put(Object key,
                 Object value)

      Associate the specified value with the specified key in this cache.

      If the cache previously contained a mapping for this key, the old value is replaced by the specified value.

      Parameters:
        `key` - the key with which the specified value is to be associated
        `value` - the value to be associated with the specified key

    - #### evict

          void evict(Object key)

      Evict the mapping for this key from this cache if it is present.
      Parameters:
        `key` - the key whose mapping is to be removed from the cache

    - #### clear

          void clear()

      Remove all mappings from the cache.