K
- the key type for the cacheV
- the value type for the cacheExpiryPolicy
that builds on the java.time
types.@Deprecated
public interface Expiry<K,V>
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.
Expirations
,
ExpiryPolicy
Modifier and Type | Method and Description |
---|---|
Duration |
getExpiryForAccess(K key,
ValueSupplier<? extends V> value)
Deprecated.
|
Duration |
getExpiryForCreation(K key,
V value)
Deprecated.
Returns the lifetime of an entry when it is initially added to a
Cache . |
Duration |
getExpiryForUpdate(K key,
ValueSupplier<? extends V> oldValue,
V newValue)
Deprecated.
|
Duration getExpiryForCreation(K key, V value)
Cache
.
This method must not return null
.
Exceptions thrown from this method will be swallowed and result in the expiry duration being
ZERO
.
key
- the key of the newly added entryvalue
- the value of the newly added entryDuration
Duration getExpiryForAccess(K key, ValueSupplier<? extends V> value)
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
.
key
- the key of the accessed entryvalue
- a value supplier for the accessed entryDuration
, null
means unchangedDuration getExpiryForUpdate(K key, ValueSupplier<? extends V> oldValue, V newValue)
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
.
key
- the key of the updated entryoldValue
- a value supplier for the previous value of the entrynewValue
- the new value of the entryDuration
, null
means unchanged