Class CacheCaffeine<K,V>

java.lang.Object
org.apache.jena.atlas.lib.cache.CacheCaffeine<K,V>
All Implemented Interfaces:
Cache<K,V>

public final class CacheCaffeine<K,V> extends Object implements Cache<K,V>
Wrapper around a com.github.benmanes.caffeine
  • Constructor Details

    • CacheCaffeine

      public CacheCaffeine(int size)
    • CacheCaffeine

      public CacheCaffeine(int size, BiConsumer<K,V> dropHandler)
    • CacheCaffeine

      public CacheCaffeine(com.github.benmanes.caffeine.cache.Cache<K,V> caffeine)
  • Method Details

    • getOrFill

      public V getOrFill(K key, Callable<V> filler)
      Description copied from interface: Cache
      Get from cache; if not present, call the Callable to try to fill the cache. This operation should be atomic.
      Specified by:
      getOrFill in interface Cache<K,V>
    • get

      public V get(K key, Function<K,V> f)
      Description copied from interface: Cache
      Get from cache; if not present, call the Function to fill the cache slot. This operation should be atomic.
      Specified by:
      get in interface Cache<K,V>
    • getIfPresent

      public V getIfPresent(K key)
      Description copied from interface: Cache
      Get from cache - or return null.
      Specified by:
      getIfPresent in interface Cache<K,V>
    • put

      public void put(K key, V thing)
      Description copied from interface: Cache
      Insert into the cache
      Specified by:
      put in interface Cache<K,V>
    • containsKey

      public boolean containsKey(K key)
      Description copied from interface: Cache
      Does the cache contain the key?
      Specified by:
      containsKey in interface Cache<K,V>
    • remove

      public void remove(K key)
      Description copied from interface: Cache
      Remove from cache - return true if key referenced an entry
      Specified by:
      remove in interface Cache<K,V>
    • keys

      public Iterator<K> keys()
      Description copied from interface: Cache
      Iterate over all keys. Iterating over the keys requires the caller be thread-safe.
      Specified by:
      keys in interface Cache<K,V>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Cache<K,V>
    • clear

      public void clear()
      Specified by:
      clear in interface Cache<K,V>
    • size

      public long size()
      Description copied from interface: Cache
      Current size of cache
      Specified by:
      size in interface Cache<K,V>