Interface EvictableCache<K,​V>

Type Parameters:
K - type of the keys
V - type of the values
All Superinterfaces:
java.util.Map<K,​V>, MemoizeCache<K,​V>
All Known Implementing Classes:
CommonCache, ConcurrentCommonCache, ConcurrentSoftCache, StampedCommonCache, UnlimitedConcurrentCache

public interface EvictableCache<K,​V>
extends MemoizeCache<K,​V>, java.util.Map<K,​V>
Represents an evictable memoize cache with its essential methods
Since:
2.5.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static interface  EvictableCache.Action<K,​V,​R>
    Represents the action to deal with the cache
    static class  EvictableCache.EvictionStrategy
    Represents a eviction strategy for the cache with limited size

    Nested classes/interfaces inherited from interface java.util.Map

    java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>

    Nested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.MemoizeCache

    MemoizeCache.ValueProvider<K,​V>
  • Method Summary

    Modifier and Type Method Description
    default void clear()
    Clear the cache
    java.util.Map<K,​V> clearAll()
    Clear the cache
    boolean containsKey​(java.lang.Object key)
    Determines if the cache contains an entry for the specified key.
    java.util.Set<K> keys()
    Get all keys associated to cached values
    V remove​(java.lang.Object key)
    Remove the cached value by the key
    int size()
    Get the size of the cache
    java.util.Collection<V> values()
    Get all cached values

    Methods inherited from interface java.util.Map

    compute, computeIfAbsent, computeIfPresent, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, replace, replace, replaceAll

    Methods inherited from interface org.codehaus.groovy.runtime.memoize.MemoizeCache

    cleanUpNullReferences, get, getAndPut, put
  • Method Details

    • remove

      V remove​(java.lang.Object key)
      Remove the cached value by the key
      Specified by:
      remove in interface java.util.Map<K,​V>
      Parameters:
      key - of the cached value
      Returns:
      returns the removed value
    • clearAll

      java.util.Map<K,​V> clearAll()
      Clear the cache
      Returns:
      returns the content of the cleared map
    • clear

      default void clear()
      Clear the cache
      Specified by:
      clear in interface java.util.Map<K,​V>
      See Also:
      clearAll()
    • values

      java.util.Collection<V> values()
      Get all cached values
      Specified by:
      values in interface java.util.Map<K,​V>
      Returns:
      all cached values
    • keys

      java.util.Set<K> keys()
      Get all keys associated to cached values
      Returns:
      all keys
    • containsKey

      boolean containsKey​(java.lang.Object key)
      Determines if the cache contains an entry for the specified key.
      Specified by:
      containsKey in interface java.util.Map<K,​V>
      Parameters:
      key - key whose presence in this cache is to be tested.
      Returns:
      true if the cache contains a mapping for the specified key
    • size

      int size()
      Get the size of the cache
      Specified by:
      size in interface java.util.Map<K,​V>
      Returns:
      the size of the cache