Interface ExpiryPolicy
-
- All Known Implementing Classes:
AccessedExpiryPolicy
,CreatedExpiryPolicy
,EternalExpiryPolicy
,ModifiedExpiryPolicy
,TouchedExpiryPolicy
public interface ExpiryPolicy
Defines functions to determine when cache entries will expire based on creation, access and modification operations.Each of the functions return a new
Duration
that specifies the amount of time that must pass before a cache entry is considered expired.Duration
has constants defined for useful durations.- Since:
- 1.0
- Author:
- Brian Oliver, Greg Luck
- See Also:
Duration
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Duration
getExpiryForAccess()
Gets theDuration
before an accessed Cache.Entry is considered expired.Duration
getExpiryForCreation()
Gets theDuration
before a newly created Cache.Entry is considered expired.Duration
getExpiryForUpdate()
Gets theDuration
before an updated Cache.Entry is considered expired.
-
-
-
Method Detail
-
getExpiryForCreation
Duration getExpiryForCreation()
Gets theDuration
before a newly created Cache.Entry is considered expired.This method is called by a caching implementation after a Cache.Entry is created, but before a Cache.Entry is added to a cache, to determine the
Duration
before an entry expires. If aDuration.ZERO
is returned the new Cache.Entry is considered to be already expired and will not be added to the Cache.Should an exception occur while determining the Duration, an implementation specific default
Duration
will be used.- Returns:
- the new
Duration
before a created entry expires
-
getExpiryForAccess
Duration getExpiryForAccess()
Gets theDuration
before an accessed Cache.Entry is considered expired.This method is called by a caching implementation after a Cache.Entry is accessed to determine the
Duration
before an entry expires. If aDuration.ZERO
is returned a Cache.Entry will be considered immediately expired. Returningnull
will result in no change to the previously understood expiryDuration
.Should an exception occur while determining the Duration, an implementation specific default Duration will be used.
- Returns:
- the new
Duration
before an accessed entry expires
-
getExpiryForUpdate
Duration getExpiryForUpdate()
Gets theDuration
before an updated Cache.Entry is considered expired.This method is called by the caching implementation after a Cache.Entry is updated to determine the
Duration
before the updated entry expires. If aDuration.ZERO
is returned a Cache.Entry is considered immediately expired. Returningnull
will result in no change to the previously understood expiryDuration
.Should an exception occur while determining the Duration, an implementation specific default Duration will be used.
- Returns:
- the new
Duration
before an updated entry expires
-
-