Class PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy<K,​V>

  • Type Parameters:
    K - the type of the keys in the map
    V - the type of the values in the map
    All Implemented Interfaces:
    java.io.Serializable, PassiveExpiringMap.ExpirationPolicy<K,​V>
    Enclosing class:
    PassiveExpiringMap<K,​V>

    public static class PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy<K,​V>
    extends java.lang.Object
    implements PassiveExpiringMap.ExpirationPolicy<K,​V>
    A ExpirationPolicy that returns a expiration time that is a constant about of time in the future from the current time.
    Since:
    4.0
    Version:
    $Id: PassiveExpiringMap.java 1686855 2015-06-22 13:00:27Z tn $
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long expirationTime​(K key, V value)
      Determine the expiration time for the given key-value entry.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConstantTimeToLiveExpirationPolicy

        public ConstantTimeToLiveExpirationPolicy()
        Default constructor. Constructs a policy using a negative time-to-live value that results in entries never expiring.
      • ConstantTimeToLiveExpirationPolicy

        public ConstantTimeToLiveExpirationPolicy​(long timeToLiveMillis)
        Construct a policy with the given time-to-live constant measured in milliseconds. A negative time-to-live value indicates entries never expire. A zero time-to-live value indicates entries expire (nearly) immediately.
        Parameters:
        timeToLiveMillis - the constant amount of time (in milliseconds) an entry is available before it expires. A negative value results in entries that NEVER expire. A zero value results in entries that ALWAYS expire.
      • ConstantTimeToLiveExpirationPolicy

        public ConstantTimeToLiveExpirationPolicy​(long timeToLive,
                                                  java.util.concurrent.TimeUnit timeUnit)
        Construct a policy with the given time-to-live constant measured in the given time unit of measure.
        Parameters:
        timeToLive - the constant amount of time an entry is available before it expires. A negative value results in entries that NEVER expire. A zero value results in entries that ALWAYS expire.
        timeUnit - the unit of time for the timeToLive parameter, must not be null.
        Throws:
        java.lang.NullPointerException - if the time unit is null.
    • Method Detail

      • expirationTime

        public long expirationTime​(K key,
                                   V value)
        Determine the expiration time for the given key-value entry.
        Specified by:
        expirationTime in interface PassiveExpiringMap.ExpirationPolicy<K,​V>
        Parameters:
        key - the key for the entry (ignored).
        value - the value for the entry (ignored).
        Returns:
        if timeToLiveMillis ≥ 0, an expiration time of timeToLiveMillis + System.currentTimeMillis() is returned. Otherwise, -1 is returned indicating the entry never expires.