Class LruCache<K,V>

java.lang.Object
io.helidon.common.configurable.LruCache<K,V>
Type Parameters:
K - type of the keys of the map
V - type of the values of the map
All Implemented Interfaces:
RuntimeType.Api<LruCacheConfig<K,V>>, LruCache<K,V>

@Deprecated(forRemoval=true, since="4.2.0") public final class LruCache<K,V> extends Object implements LruCache<K,V>, RuntimeType.Api<LruCacheConfig<K,V>>
Deprecated, for removal: This API element is subject to removal in a future version.
kindly use LruCache, we are removing this from the configurable module, as cache has only a single option, and we need it from modules that do not use configuration
Least recently used cache. This cache has a capacity. When the capacity is reached, the oldest record is removed from the cache when a new one is added.
  • Field Summary

    Fields inherited from interface io.helidon.common.LruCache

    DEFAULT_CAPACITY
  • Method Summary

    Modifier and Type
    Method
    Description
    static <K, V> LruCacheConfig.Builder<K,V>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create a new builder.
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
    Capacity of this cache.
    void
    Deprecated, for removal: This API element is subject to removal in a future version.
    Clear all records in the cache.
    computeValue(K key, Supplier<Optional<V>> valueSupplier)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Either return a cached value or compute it and cache it.
    static <K, V> LruCache<K,V>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create an instance with default configuration.
    static <K, V> LruCache<K,V>
    create(LruCacheConfig<K,V> config)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create an instance with custom configuration.
    static <K, V> LruCache<K,V>
    Deprecated, for removal: This API element is subject to removal in a future version.
    Create an instance with custom configuration.
    get(K key)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Get a value from the cache.
    Deprecated, for removal: This API element is subject to removal in a future version.
    The prototype as it was received when creating this runtime object instance.
    put(K key, V value)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Put a value to the cache.
    remove(K key)
    Deprecated, for removal: This API element is subject to removal in a future version.
    Remove a value from the cache.
    int
    Deprecated, for removal: This API element is subject to removal in a future version.
    Current size of the map.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • builder

      public static <K, V> LruCacheConfig.Builder<K,V> builder()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create a new builder.
      Type Parameters:
      K - key type
      V - value type
      Returns:
      a new fluent API builder instance
    • create

      public static <K, V> LruCache<K,V> create()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance with default configuration.
      Type Parameters:
      K - key type
      V - value type
      Returns:
      a new cache instance
      See Also:
    • create

      public static <K, V> LruCache<K,V> create(LruCacheConfig<K,V> config)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance with custom configuration.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      config - configuration of LRU cache
      Returns:
      a new cache instance
    • create

      public static <K, V> LruCache<K,V> create(Consumer<LruCacheConfig.Builder<K,V>> consumer)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance with custom configuration.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      consumer - of custom configuration builder
      Returns:
      a new cache instance
    • prototype

      public LruCacheConfig<K,V> prototype()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: RuntimeType.Api
      The prototype as it was received when creating this runtime object instance.
      Specified by:
      prototype in interface RuntimeType.Api<K>
      Returns:
      prototype object used to create this instance
    • get

      public Optional<V> get(K key)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Get a value from the cache.
      Specified by:
      get in interface LruCache<K,V>
      Parameters:
      key - key to retrieve
      Returns:
      value if present or empty
    • remove

      public Optional<V> remove(K key)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Remove a value from the cache.
      Specified by:
      remove in interface LruCache<K,V>
      Parameters:
      key - key of the record to remove
      Returns:
      the value that was mapped to the key, or empty if none was
    • put

      public Optional<V> put(K key, V value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Put a value to the cache.
      Specified by:
      put in interface LruCache<K,V>
      Parameters:
      key - key to add
      value - value to add
      Returns:
      value that was already mapped or empty if the value was not mapped
    • computeValue

      public Optional<V> computeValue(K key, Supplier<Optional<V>> valueSupplier)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Either return a cached value or compute it and cache it. In case this method is called in parallel for the same key, the value actually present in the map may be from any of the calls. This method always returns either the existing value from the map, or the value provided by the supplier. It never returns a result from another thread's supplier.
      Specified by:
      computeValue in interface LruCache<K,V>
      Parameters:
      key - key to check/insert value for
      valueSupplier - supplier called if the value is not yet cached, or is invalid
      Returns:
      current value from the cache, or computed value from the supplier
    • size

      public int size()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Current size of the map.
      Specified by:
      size in interface LruCache<K,V>
      Returns:
      number of records currently cached
    • capacity

      public int capacity()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Capacity of this cache.
      Specified by:
      capacity in interface LruCache<K,V>
      Returns:
      configured capacity of this cache
    • clear

      public void clear()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: LruCache
      Clear all records in the cache.
      Specified by:
      clear in interface LruCache<K,V>