Class PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy<K,V>
- java.lang.Object
-
- org.apache.commons.collections4.map.PassiveExpiringMap.ConstantTimeToLiveExpirationPolicy<K,V>
-
- Type Parameters:
K
- the type of the keys in the mapV
- 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>
AExpirationPolicy
that returns a expiration time that is a constant about of time in the future from the current time.- Since:
- 4.0
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ConstantTimeToLiveExpirationPolicy()
Default constructor.ConstantTimeToLiveExpirationPolicy(long timeToLiveMillis)
Construct a policy with the given time-to-live constant measured in milliseconds.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.
-
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.
-
-
-
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 thetimeToLive
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 interfacePassiveExpiringMap.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 oftimeToLiveMillis
+System.currentTimeMillis()
is returned. Otherwise, -1 is returned indicating the entry never expires.
-
-