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
有効期限無しを表す日時
|
| Constructor and Description |
|---|
ExpirableCacheTemplate() |
| 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)
キャッシュから値を取得する。
キャッシュに値が存在しない場合または有効期限切れの場合はnullを返却する。
|
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 V getIfNotExpired(K key)
getIfNotExpired in interface ExpirableCache<K,V>key - キャッシュキーpublic void add(K key, V value, java.util.Date timeout)
add in interface ExpirableCache<K,V>key - キャッシュキーvalue - キャッシュされる値timeout - 有効期限public void addUnlimited(K key, V value)
addUnlimited in interface ExpirableCache<K,V>key - キャッシュキーvalue - キャッシュされる値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 - システム日時提供クラス