Interface Expiry<K,V>

Type Parameters:
K - the key type for the cache
V - the value type for the cache

@Deprecated public interface Expiry<K,V>
Deprecated.
Replaced with ExpiryPolicy that builds on the java.time types.
A policy object that governs expiration for mappings in a Cache.

Previous values are not accessible directly but are rather available through a value supplier to indicate that access can require computation (such as deserialization).

NOTE: Some cache configurations (eg. caches with eventual consistency) may use local (ie. non-consistent) state to decide whether to call getExpiryForUpdate(Object, org.ehcache.ValueSupplier, Object) vs. getExpiryForCreation(Object, Object). For these cache configurations it is advised to return the same value for both of these methods

See Expirations for helper methods to create common Expiry instances.

See Also:
  • Method Details

    • getExpiryForCreation

      Duration getExpiryForCreation(K key, V value)
      Deprecated.
      Returns the lifetime of an entry when it is initially added to a Cache.

      This method must not return null.

      Exceptions thrown from this method will be swallowed and result in the expiry duration being ZERO.

      Parameters:
      key - the key of the newly added entry
      value - the value of the newly added entry
      Returns:
      a non-null Duration
    • getExpiryForAccess

      Duration getExpiryForAccess(K key, ValueSupplier<? extends V> value)
      Deprecated.
      Returns the expiration Duration (relative to the current time) when an existing entry is accessed from a Cache.

      Returning null indicates that the expiration time remains unchanged.

      Exceptions thrown from this method will be swallowed and result in the expiry duration being ZERO.

      Parameters:
      key - the key of the accessed entry
      value - a value supplier for the accessed entry
      Returns:
      an expiration Duration, null means unchanged
    • getExpiryForUpdate

      Duration getExpiryForUpdate(K key, ValueSupplier<? extends V> oldValue, V newValue)
      Deprecated.
      Returns the expiration Duration (relative to the current time) when an existing entry is updated in a Cache.

      Returning null indicates that the expiration time remains unchanged.

      Exceptions thrown from this method will be swallowed and result in the expiry duration being ZERO.

      Parameters:
      key - the key of the updated entry
      oldValue - a value supplier for the previous value of the entry
      newValue - the new value of the entry
      Returns:
      an expiration Duration, null means unchanged