Class ExpiryPolicyManager<K>
java.lang.Object
com.loomcache.server.jcache.ExpiryPolicyManager<K>
- Type Parameters:
K- the key type
Manages various expiry policies for cache entries.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAccessed policy - entries expire based on last access time.static classCombined policy - entries expire at the earliest of multiple policies.static classCreated policy - entries expire based on creation time.static classEternal policy - entries never expire.static interfaceBase expiry policy interface.static classModified policy - entries expire based on last modification time. -
Constructor Summary
ConstructorsConstructorDescriptionCreate a manager with eternal default policy.ExpiryPolicyManager(ExpiryPolicyManager.ExpiryPolicy defaultPolicy) Create a manager with a default expiry policy. -
Method Summary
Modifier and TypeMethodDescriptionaccessedPolicy(Duration duration) Create an accessed expiry policy.voidClear all policies, falling back to default.combined(ExpiryPolicyManager.ExpiryPolicy... policies) Combine multiple expiry policies (expires at earliest).createdPolicy(Duration duration) Create a created expiry policy.Create an eternal expiry policy.longgetExpiryTime(K key) Calculate expiry time for a key.Get expiry policy for a key.intGet policy count (excluding default).booleanCheck if a key has expired based on the entry's actual timestamps.modifiedPolicy(Duration duration) Create a modified expiry policy.voidremovePolicy(K key) Remove policy for a specific key.voidsetPolicy(K key, ExpiryPolicyManager.ExpiryPolicy policy) Set expiry policy for a specific key.
-
Constructor Details
-
ExpiryPolicyManager
Create a manager with a default expiry policy. -
ExpiryPolicyManager
public ExpiryPolicyManager()Create a manager with eternal default policy.
-
-
Method Details
-
setPolicy
Set expiry policy for a specific key. -
getPolicy
Get expiry policy for a key. -
getExpiryTime
Calculate expiry time for a key. -
isExpired
public boolean isExpired(K key, long createdTime, @Nullable Long lastAccessTime, @Nullable Long lastModifiedTime) Check if a key has expired based on the entry's actual timestamps.The reference time depends on the policy type:
- CREATED: expiry = createdTime + duration
- ACCESSED: expiry = lastAccessTime + duration (falls back to createdTime)
- MODIFIED: expiry = lastModifiedTime + duration (falls back to createdTime)
-
clearPolicies
public void clearPolicies()Clear all policies, falling back to default. -
removePolicy
Remove policy for a specific key. -
getPolicyCount
public int getPolicyCount()Get policy count (excluding default). -
createdPolicy
Create a created expiry policy. -
accessedPolicy
Create an accessed expiry policy. -
modifiedPolicy
Create a modified expiry policy. -
eternalPolicy
Create an eternal expiry policy. -
combined
public static ExpiryPolicyManager.ExpiryPolicy combined(ExpiryPolicyManager.ExpiryPolicy... policies) Combine multiple expiry policies (expires at earliest).
-