K - キャッシュキーV - キャッシュ値@Published(tag="architect") public abstract class ExpirableCacheTemplate<K,V> extends java.lang.Object implements ExpirableCache<K,V>
ExpirableCache)を実装するためのテンプレートクラス。
有効期限付きキャッシュの基本的な枠組みを提供する。
サブクラスにて、具体的な格納先(Map、KVS等)へのアクセス処理を実装する。| Modifier and Type | Field and Description |
|---|---|
protected static java.util.Date |
UNLIMITED
有効期限無しを表す日時
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(K key,
V value,
java.util.Date timeout) |
protected abstract void |
addToCache(K key,
Expirable<V> expirable)
キャッシュに値を設定する。
|
void |
addUnlimited(K key,
V value) |
void |
clear()
キャッシュをクリアする。
|
protected abstract void |
clearCache()
キャッシュの全エントリを削除する。
|
protected abstract Expirable<V> |
getFromCache(K key)
キャッシュから値を取得する。
|
V |
getIfNotExpired(K key) |
protected java.util.Date |
getNowDate()
現在日時を取得する。
|
void |
remove(K key)
キャッシュから値を削除する。
|
protected abstract Expirable<V> |
removeFromCache(K key)
指定したキーに対応するエントリを削除する。
|
void |
setCacheListener(ExpirableCacheListener<K> listener)
キャッシュリスナークラスを設定する。
本インタフェース実装クラスは、各イベント発生時にこのリスナーをコールバックする。
|
void |
setSystemTimeProvider(SystemTimeProvider systemTimeProvider)
システム日時提供クラスを取得する。
|
protected final java.util.Date getNowDate()
public void remove(K key)
remove in interface ExpirableCache<K,V>key - 削除対象キャッシュキーpublic void clear()
clear in interface ExpirableCache<K,V>public void setCacheListener(ExpirableCacheListener<K> listener)
setCacheListener in interface ExpirableCache<K,V>listener - リスナークラス。protected abstract Expirable<V> getFromCache(K key)
key - キーExpirableprotected abstract Expirable<V> removeFromCache(K key)
key - キーExpirableprotected abstract void addToCache(K key, Expirable<V> expirable)
key - キーexpirable - 値を格納したExpirableprotected abstract void clearCache()
public void setSystemTimeProvider(SystemTimeProvider systemTimeProvider)
systemTimeProvider - システム日時提供クラス