Interface Cache<K,​V>

  • All Known Implementing Classes:
    EhCache, MapCache

    public interface Cache<K,​V>
    A Cache efficiently stores temporary objects primarily to improve an application's performance.

    Shiro doesn't implement a full Cache mechanism itself, since that is outside the core competency of a Security framework. Instead, this interface provides an abstraction (wrapper) API on top of an underlying cache framework's cache instance (e.g. JCache, Ehcache, JCS, OSCache, JBossCache, TerraCotta, Coherence, GigaSpaces, etc, etc), allowing a Shiro user to configure any cache mechanism they choose.

    Since:
    0.2
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clear()
      Clear all entries from the cache.
      V get​(K key)
      Returns the Cached value stored under the specified key or null if there is no Cache entry for that key.
      Set<K> keys()
      Returns a view of all the keys for entries contained in this cache.
      V put​(K key, V value)
      Adds a Cache entry.
      V remove​(K key)
      Remove the cache entry corresponding to the specified key.
      int size()
      Returns the number of entries in the cache.
      Collection<V> values()
      Returns a view of all of the values contained in this cache.
    • Method Detail

      • get

        V get​(K key)
        throws CacheException
        Returns the Cached value stored under the specified key or null if there is no Cache entry for that key.
        Parameters:
        key - the key that the value was previous added with
        Returns:
        the cached object or null if there is no entry for the specified key
        Throws:
        CacheException - if there is a problem accessing the underlying cache system
      • put

        V put​(K key,
              V value)
        throws CacheException
        Adds a Cache entry.
        Parameters:
        key - the key used to identify the object being stored.
        value - the value to be stored in the cache.
        Returns:
        the previous value associated with the given key or null if there was previous value
        Throws:
        CacheException - if there is a problem accessing the underlying cache system
      • remove

        V remove​(K key)
          throws CacheException
        Remove the cache entry corresponding to the specified key.
        Parameters:
        key - the key of the entry to be removed.
        Returns:
        the previous value associated with the given key or null if there was previous value
        Throws:
        CacheException - if there is a problem accessing the underlying cache system
      • size

        int size()
        Returns the number of entries in the cache.
        Returns:
        the number of entries in the cache.
      • keys

        Set<Kkeys()
        Returns a view of all the keys for entries contained in this cache.
        Returns:
        a view of all the keys for entries contained in this cache.
      • values

        Collection<Vvalues()
        Returns a view of all of the values contained in this cache.
        Returns:
        a view of all of the values contained in this cache.