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
- キーExpirable
protected abstract Expirable<V> removeFromCache(K key)
key
- キーExpirable
protected abstract void addToCache(K key, Expirable<V> expirable)
key
- キーexpirable
- 値を格納したExpirable
protected abstract void clearCache()
public void setSystemTimeProvider(SystemTimeProvider systemTimeProvider)
systemTimeProvider
- システム日時提供クラス