Type of the key.
Type of the value.
Type of the arguments bundle.
Cache backend instance.
Hook executed before cache has been cleared.
Hook executed before entry
for key
has been deleted.
Policy is supposed to detach metadata from entry
and cleanup it's internal data structures when this hook is called.
Entry that's being deleted.
Hook executed after entry
for key
was retrieved.
Policy might decide that entry is no longer valid and return EntryValidity.NOT_VALID.
In case it does so, policy is responsible to evict entry
from cache before this method returns.
Whether entry is still valid.
Hook executed after key
wasn't found in the cache on Cache.get operation.
Hook executed after entry
for key
has been set.
Entry that was inserted.
Arguments bundle for cache set
operation.
Hook executed after value for entry
associated with key
has been updated.
Set deleter
which removes entries from cache.
Eviction policy, purpose of which is to offer cascade delete functionality.
When one of the keys is deleted/eviction, all of it's direct and transitive dependencies will also be deleted/evicted.
This is achieved by using an internal dependency graph. Graph is able to handle cycles.
When
key
is inserted in the cache, clients should also specify a list of dependencies and/or dependents (ifkey
has them). The only limitation is that dependencies/dependents must be already present in the cache when they are specified, otherwise relationships of thekey
with them will be ignored.