Class LruCache<Key,​Value extends CanEstimateSize>

  • All Implemented Interfaces:
    Gettable<Key,​Value>

    public class LruCache<Key,​Value extends CanEstimateSize>
    extends java.lang.Object
    implements Gettable<Key,​Value>
    Caches values in simple least-recently-accessed order.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  LruCache.CreateAction<Key,​Value>
      When the entry is not present in cache, this create action is used to create one.
      static interface  LruCache.EvictAction<Value>
      Action that is invoked when the entry is removed from the cache.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Value borrow​(Key key)
      Borrows an entry from the cache.
      Value get​(Key key)
      Returns an entry from the cache.
      void put​(Key key, Value value)
      Returns given value to the cache.
      void putAll​(java.util.Map<Key,​Value> m)
      Puts all the values from the given map into the cache.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LruCache

        public LruCache​(int maxSizeEntries,
                        long maxSizeBytes,
                        boolean accessOrder)
    • Method Detail

      • get

        public Value get​(Key key)
        Returns an entry from the cache.
        Specified by:
        get in interface Gettable<Key,​Value extends CanEstimateSize>
        Parameters:
        key - cache key
        Returns:
        entry from cache or null if cache does not contain given key.
      • borrow

        public Value borrow​(Key key)
                     throws java.sql.SQLException
        Borrows an entry from the cache.
        Parameters:
        key - cache key
        Returns:
        entry from cache or newly created entry if cache does not contain given key.
        Throws:
        java.sql.SQLException - if entry creation fails
      • put

        public void put​(Key key,
                        Value value)
        Returns given value to the cache.
        Parameters:
        key - key
        value - value
      • putAll

        public void putAll​(java.util.Map<Key,​Value> m)
        Puts all the values from the given map into the cache.
        Parameters:
        m - The map containing entries to put into the cache