Package de.mid.innovator.net
Class InoTelegramCache<T extends InoTelegram>
- java.lang.Object
-
- de.mid.innovator.net.InoTelegramCache<T>
-
- Direct Known Subclasses:
SrvDataTelegramCache
public class InoTelegramCache<T extends InoTelegram> extends java.lang.Object
A cache that manages entries based on the policy specified at creation time. The initial size of the cache can be configured through the "de.mid.innovator.api.cache.size" system property. The default size is 2048 entries.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InoTelegramCache.CachePolicy
-
Constructor Summary
Constructors Constructor Description InoTelegramCache()
Creates a cache with specific policy
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
void
disable()
T
get(T key)
Queries the cache for the specific host.int
getAccessCnt()
int
getHitCnt()
InoTelegramCache<T>
put(T send, T rcv)
Adds an entry to the cache.void
resetStatistics()
void
setPolicy(InoTelegramCache.CachePolicy policy)
Change the cache policy and use this policy for the future use of the cache.int
size()
java.lang.String
stats()
java.lang.String
toString()
-
-
-
Method Detail
-
put
public InoTelegramCache<T> put(T send, T rcv)
Adds an entry to the cache. The entry is not updated. exists.
-
get
public T get(T key)
Queries the cache for the specific host. If found, the CacheEntry is returned, otherwise null.
-
disable
public void disable()
-
setPolicy
public void setPolicy(InoTelegramCache.CachePolicy policy)
Change the cache policy and use this policy for the future use of the cache. Hence the new policy is valid for old and new cache entry. Hence, e.g. setting the policy to DISABLE will clear the cache.- Parameters:
policy
- New policy to use for cache.
-
getAccessCnt
public int getAccessCnt()
-
getHitCnt
public int getHitCnt()
-
resetStatistics
public void resetStatistics()
-
clear
public void clear()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
stats
public java.lang.String stats()
-
size
public int size()
-
-