Package nablarch.core.cache.expirable
Class ExpirableCacheTemplate<K,V>
java.lang.Object
nablarch.core.cache.expirable.ExpirableCacheTemplate<K,V>
- Type Parameters:
K- キャッシュキーV- キャッシュ値
- All Implemented Interfaces:
ExpirableCache<K,V>
- Direct Known Subclasses:
InMemoryExpirableCache
@Published(tag="architect")
public abstract class ExpirableCacheTemplate<K,V>
extends Object
implements ExpirableCache<K,V>
有効期限付きキャッシュ(
ExpirableCache)を実装するためのテンプレートクラス。
有効期限付きキャッシュの基本的な枠組みを提供する。
サブクラスにて、具体的な格納先(Map、KVS等)へのアクセス処理を実装する。- Author:
- T.Kawasaki
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidキャッシュに値を設定する。protected abstract voidaddToCache(K key, Expirable<V> expirable) キャッシュに値を設定する。voidaddUnlimited(K key, V value) キャッシュに有効期限無しで値を設定する。voidclear()キャッシュをクリアする。protected abstract voidキャッシュの全エントリを削除する。getFromCache(K key) キャッシュから値を取得する。getIfNotExpired(K key) キャッシュから値を取得する。 キャッシュに値が存在しない場合または有効期限切れの場合はnullを返却する。protected final Date現在日時を取得する。voidキャッシュから値を削除する。removeFromCache(K key) 指定したキーに対応するエントリを削除する。voidsetCacheListener(ExpirableCacheListener<K> listener) キャッシュリスナークラスを設定する。 本インタフェース実装クラスは、各イベント発生時にこのリスナーをコールバックする。voidsetSystemTimeProvider(SystemTimeProvider systemTimeProvider) システム日時提供クラスを取得する。
-
Field Details
-
UNLIMITED
有効期限無しを表す日時
-
-
Constructor Details
-
ExpirableCacheTemplate
public ExpirableCacheTemplate()
-
-
Method Details
-
getNowDate
現在日時を取得する。- Returns:
- 現在日時
-
getIfNotExpired
キャッシュから値を取得する。 キャッシュに値が存在しない場合または有効期限切れの場合はnullを返却する。- Specified by:
getIfNotExpiredin interfaceExpirableCache<K,V> - Parameters:
key- キャッシュキー- Returns:
- キャッシュされた値
-
add
キャッシュに値を設定する。- Specified by:
addin interfaceExpirableCache<K,V> - Parameters:
key- キャッシュキーvalue- キャッシュされる値timeout- 有効期限
-
addUnlimited
キャッシュに有効期限無しで値を設定する。- Specified by:
addUnlimitedin interfaceExpirableCache<K,V> - Parameters:
key- キャッシュキーvalue- キャッシュされる値
-
remove
キャッシュから値を削除する。- Specified by:
removein interfaceExpirableCache<K,V> - Parameters:
key- 削除対象キャッシュキー
-
clear
public void clear()キャッシュをクリアする。- Specified by:
clearin interfaceExpirableCache<K,V>
-
setCacheListener
キャッシュリスナークラスを設定する。 本インタフェース実装クラスは、各イベント発生時にこのリスナーをコールバックする。- Specified by:
setCacheListenerin interfaceExpirableCache<K,V> - Parameters:
listener- リスナークラス。
-
getFromCache
キャッシュから値を取得する。- Parameters:
key- キー- Returns:
- キーに対応する値を格納した
Expirable
-
removeFromCache
指定したキーに対応するエントリを削除する。- Parameters:
key- キー- Returns:
- キーに対応する値を格納した
Expirable
-
addToCache
キャッシュに値を設定する。- Parameters:
key- キーexpirable- 値を格納したExpirable
-
clearCache
protected abstract void clearCache()キャッシュの全エントリを削除する。 -
setSystemTimeProvider
システム日時提供クラスを取得する。- Parameters:
systemTimeProvider- システム日時提供クラス
-