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 - システム日時提供クラス