Class EhCache<K,​V>

  • All Implemented Interfaces:
    Cache<K,​V>

    public class EhCache<K,​V>
    extends Object
    implements Cache<K,​V>
    Shiro Cache implementation that wraps an Ehcache instance.
    Since:
    0.2
    • Constructor Summary

      Constructors 
      Constructor Description
      EhCache​(net.sf.ehcache.Ehcache cache)
      Constructs a new EhCache instance with the given cache.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Removes all elements in the cache, but leaves the cache in a useable state.
      V get​(K key)
      Gets a value of an element which matches the given key.
      long getDiskStoreSize()
      Returns the size (in bytes) that this EhCache's disk store is consuming or -1 if that number is unknown or cannot be calculated.
      long getMemoryStoreSize()
      Returns the size (in bytes) that this EhCache's memory store is using (RAM), or -1 if that number is unknown or cannot be calculated.
      long getMemoryUsage()
      Returns the size (in bytes) that this EhCache is using in memory (RAM), or -1 if that number is unknown or cannot be calculated.
      Set<K> keys()
      Returns a view of all the keys for entries contained in this cache.
      V put​(K key, V value)
      Puts an object into the cache.
      V remove​(K key)
      Removes the element which matches the key.
      int size()
      Returns the number of entries in the cache.
      String toString()
      Returns "EhCache [" + cache.getName() + "]"
      Collection<V> values()
      Returns a view of all of the values contained in this cache.
    • Constructor Detail

      • EhCache

        public EhCache​(net.sf.ehcache.Ehcache cache)
        Constructs a new EhCache instance with the given cache.
        Parameters:
        cache - - delegate EhCache instance this Shiro cache instance will wrap.
    • Method Detail

      • get

        public V get​(K key)
              throws CacheException
        Gets a value of an element which matches the given key.
        Specified by:
        get in interface Cache<K,​V>
        Parameters:
        key - the key of the element to return.
        Returns:
        The value placed into the cache with an earlier put, or null if not found or expired
        Throws:
        CacheException - if there is a problem accessing the underlying cache system
      • put

        public V put​(K key,
                     V value)
              throws CacheException
        Puts an object into the cache.
        Specified by:
        put in interface Cache<K,​V>
        Parameters:
        key - the key.
        value - the value.
        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

        public V remove​(K key)
                 throws CacheException
        Removes the element which matches the key.

        If no element matches, nothing is removed and no Exception is thrown.

        Specified by:
        remove in interface Cache<K,​V>
        Parameters:
        key - the key of the element to remove
        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
      • clear

        public void clear()
                   throws CacheException
        Removes all elements in the cache, but leaves the cache in a useable state.
        Specified by:
        clear in interface Cache<K,​V>
        Throws:
        CacheException - if there is a problem accessing the underlying cache system
      • size

        public int size()
        Description copied from interface: Cache
        Returns the number of entries in the cache.
        Specified by:
        size in interface Cache<K,​V>
        Returns:
        the number of entries in the cache.
      • keys

        public Set<Kkeys()
        Description copied from interface: Cache
        Returns a view of all the keys for entries contained in this cache.
        Specified by:
        keys in interface Cache<K,​V>
        Returns:
        a view of all the keys for entries contained in this cache.
      • values

        public Collection<Vvalues()
        Description copied from interface: Cache
        Returns a view of all of the values contained in this cache.
        Specified by:
        values in interface Cache<K,​V>
        Returns:
        a view of all of the values contained in this cache.
      • getMemoryUsage

        public long getMemoryUsage()
        Returns the size (in bytes) that this EhCache is using in memory (RAM), or -1 if that number is unknown or cannot be calculated.
        Returns:
        the size (in bytes) that this EhCache is using in memory (RAM), or -1 if that number is unknown or cannot be calculated.
      • getMemoryStoreSize

        public long getMemoryStoreSize()
        Returns the size (in bytes) that this EhCache's memory store is using (RAM), or -1 if that number is unknown or cannot be calculated.
        Returns:
        the size (in bytes) that this EhCache's memory store is using (RAM), or -1 if that number is unknown or cannot be calculated.
      • getDiskStoreSize

        public long getDiskStoreSize()
        Returns the size (in bytes) that this EhCache's disk store is consuming or -1 if that number is unknown or cannot be calculated.
        Returns:
        the size (in bytes) that this EhCache's disk store is consuming or -1 if that number is unknown or cannot be calculated.
      • toString

        public String toString()
        Returns "EhCache [" + cache.getName() + "]"
        Overrides:
        toString in class Object
        Returns:
        "EhCache [" + cache.getName() + "]"