Package org.apache.mina.util
Class ExpiringMap<K,V>
- java.lang.Object
-
- org.apache.mina.util.ExpiringMap<K,V>
-
- Type Parameters:
K- The key typeV- The value type
- All Implemented Interfaces:
java.util.Map<K,V>
public class ExpiringMap<K,V> extends java.lang.Object implements java.util.Map<K,V>A map with expiration. This class contains a worker thread that will periodically check this class in order to determine if any objects should be removed based on the provided time-to-live value.- Author:
- Apache MINA Project
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classExpiringMap.ExpirerA Thread that monitors anExpiringMapand will remove elements that have passed the threshold.
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_EXPIRATION_INTERVALThe default value, 1 secondstatic intDEFAULT_TIME_TO_LIVEThe default value, 60 seconds
-
Constructor Summary
Constructors Constructor Description ExpiringMap()Creates a new instance of ExpiringMap using the default values DEFAULT_TIME_TO_LIVE and DEFAULT_EXPIRATION_INTERVALExpiringMap(int timeToLive)Creates a new instance of ExpiringMap using the supplied time-to-live value and the default value for DEFAULT_EXPIRATION_INTERVALExpiringMap(int timeToLive, int expirationInterval)Creates a new instance of ExpiringMap using the supplied values and aConcurrentHashMapfor the internal data structure.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddExpirationListener(ExpirationListener<V> listener)Adds a listener in the expiration listenersvoidclear()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)java.util.Set<java.util.Map.Entry<K,V>>entrySet()booleanequals(java.lang.Object obj)Vget(java.lang.Object key)intgetExpirationInterval()Get the interval in which an object will live in the map before it is removed.ExpiringMap.ExpirergetExpirer()intgetTimeToLive()inthashCode()booleanisEmpty()java.util.Set<K>keySet()Vput(K key, V value)voidputAll(java.util.Map<? extends K,? extends V> inMap)Vremove(java.lang.Object key)voidremoveExpirationListener(ExpirationListener<V> listener)Removes a listener from the expiration listenersvoidsetExpirationInterval(int expirationInterval)Set the interval in which an object will live in the map before it is removed.voidsetTimeToLive(int timeToLive)Update the value for the time-to-liveintsize()java.util.Collection<V>values()
-
-
-
Field Detail
-
DEFAULT_TIME_TO_LIVE
public static final int DEFAULT_TIME_TO_LIVE
The default value, 60 seconds- See Also:
- Constant Field Values
-
DEFAULT_EXPIRATION_INTERVAL
public static final int DEFAULT_EXPIRATION_INTERVAL
The default value, 1 second- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ExpiringMap
public ExpiringMap()
Creates a new instance of ExpiringMap using the default values DEFAULT_TIME_TO_LIVE and DEFAULT_EXPIRATION_INTERVAL
-
ExpiringMap
public ExpiringMap(int timeToLive)
Creates a new instance of ExpiringMap using the supplied time-to-live value and the default value for DEFAULT_EXPIRATION_INTERVAL- Parameters:
timeToLive- The time-to-live value (seconds)
-
ExpiringMap
public ExpiringMap(int timeToLive, int expirationInterval)Creates a new instance of ExpiringMap using the supplied values and aConcurrentHashMapfor the internal data structure.- Parameters:
timeToLive- The time-to-live value (seconds)expirationInterval- The time between checks to see if a value should be removed (seconds)
-
-
Method Detail
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
hashCode
public int hashCode()
-
equals
public boolean equals(java.lang.Object obj)
-
values
public java.util.Collection<V> values()
-
addExpirationListener
public void addExpirationListener(ExpirationListener<V> listener)
Adds a listener in the expiration listeners- Parameters:
listener- The listener to add
-
removeExpirationListener
public void removeExpirationListener(ExpirationListener<V> listener)
Removes a listener from the expiration listeners- Parameters:
listener- The listener to remove
-
getExpirer
public ExpiringMap.Expirer getExpirer()
- Returns:
- The Expirer instance
-
getExpirationInterval
public int getExpirationInterval()
Get the interval in which an object will live in the map before it is removed.- Returns:
- The expiration time in second
-
getTimeToLive
public int getTimeToLive()
- Returns:
- the Time-to-live value in seconds.
-
setExpirationInterval
public void setExpirationInterval(int expirationInterval)
Set the interval in which an object will live in the map before it is removed.- Parameters:
expirationInterval- The expiration time in seconds
-
setTimeToLive
public void setTimeToLive(int timeToLive)
Update the value for the time-to-live- Parameters:
timeToLive- The time-to-live (seconds)
-
-