Class EternalExpiryPolicy

java.lang.Object
javax.cache.expiry.EternalExpiryPolicy
All Implemented Interfaces:
Serializable, ExpiryPolicy

public final class EternalExpiryPolicy extends Object implements ExpiryPolicy, Serializable
An eternal ExpiryPolicy specifies that Cache Entries won't expire. This however doesn't mean they won't be evicted if an underlying implementation needs to free-up resources where by it may choose to evict entries that are not due to expire.
Since:
1.0
See Also:
  • Field Details

  • Constructor Details

    • EternalExpiryPolicy

      public EternalExpiryPolicy()
  • Method Details

    • factoryOf

      public static Factory<ExpiryPolicy> factoryOf()
      Obtains a Factory for an Eternal ExpiryPolicy.
      Returns:
      a Factory for an Eternal ExpiryPolicy.
    • getExpiryForCreation

      public Duration getExpiryForCreation()
      Gets the Duration 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 a Duration.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.

      Specified by:
      getExpiryForCreation in interface ExpiryPolicy
      Returns:
      the new Duration before a created entry expires
    • getExpiryForAccess

      public Duration getExpiryForAccess()
      Gets the Duration 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 a Duration.ZERO is returned a Cache.Entry will be considered immediately expired. Returning null will result in no change to the previously understood expiry Duration.

      Should an exception occur while determining the Duration, an implementation specific default Duration will be used.

      Specified by:
      getExpiryForAccess in interface ExpiryPolicy
      Returns:
      the new Duration before an accessed entry expires
    • getExpiryForUpdate

      public Duration getExpiryForUpdate()
      Gets the Duration 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 a Duration.ZERO is returned a Cache.Entry is considered immediately expired. Returning null will result in no change to the previously understood expiry Duration.

      Should an exception occur while determining the Duration, an implementation specific default Duration will be used.

      Specified by:
      getExpiryForUpdate in interface ExpiryPolicy
      Returns:
      the new Duration before an updated entry expires
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object