Interface Cache

All Known Subinterfaces:
CacheManagement
All Known Implementing Classes:
AbstractCache, CacheAttributesChecker, CacheInvalidator, CacheMetrics, CacheWrapper, InMemoryCacheImpl

public interface Cache
The nuxeo cache interface that define generic methods to use cache technologies
Since:
6.0
  • Method Details

    • getName

      String getName()
      Get cache name as specified in the descriptor
      Returns:
      the cache name
      Since:
      6.0
    • get

      Serializable get(String key)
      Get method to retrieve value from cache Must not raise exception if the key is null, but return null
      Parameters:
      key - the string key
      Returns:
      the Serializable value, return null if the key does not exist or if the key is null
      Since:
      6.0
    • computeIfAbsent

      default <V extends Serializable> V computeIfAbsent(String key, Supplier<V> supplier)
      Retrieves the value from the cache and returns it. If the associated value is null, retrieves it from the supplier and put it into the cache.

      Since 2025.21 the key can be null, in this case the supplier is invoked and the value is not cached.

      Since:
      11.5
    • keySet

      Set<String> keySet()
      Returns the set of all keys stored in the cache.
      Returns:
      the Set of all keys
      Since:
      8.3
    • invalidate

      void invalidate(String key)
      Invalidate the given key
      Parameters:
      key - , the key to remove from the cache, if null will do nothing
      Since:
      6.0
    • invalidateAll

      void invalidateAll()
      Invalidate all key-value stored in the cache
      Since:
      6.0
    • put

      void put(String key, Serializable value)
      Put method to store a Serializable value
      Parameters:
      key - the string key, if null, the value will not be stored
      value - the value to store, if null, the value will not be stored
      Since:
      6.0
    • hasEntry

      default boolean hasEntry(String key)
      Check if a given key is present inside the cache. Compared to the get() method, this method must not update internal cache state and change TTL
      Parameters:
      key - the string key
      Returns:
      true if a corresponding entry exists, false otherwise
      Since:
      7.2