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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
キャッシュに値を設定する。protected abstract void
addToCache
(K key, Expirable<V> expirable) キャッシュに値を設定する。void
addUnlimited
(K key, V value) キャッシュに有効期限無しで値を設定する。void
clear()
キャッシュをクリアする。protected abstract void
キャッシュの全エントリを削除する。getFromCache
(K key) キャッシュから値を取得する。getIfNotExpired
(K key) キャッシュから値を取得する。 キャッシュに値が存在しない場合または有効期限切れの場合はnullを返却する。protected final Date
現在日時を取得する。void
キャッシュから値を削除する。removeFromCache
(K key) 指定したキーに対応するエントリを削除する。void
setCacheListener
(ExpirableCacheListener<K> listener) キャッシュリスナークラスを設定する。 本インタフェース実装クラスは、各イベント発生時にこのリスナーをコールバックする。void
setSystemTimeProvider
(SystemTimeProvider systemTimeProvider) システム日時提供クラスを取得する。
-
Field Details
-
UNLIMITED
有効期限無しを表す日時
-
-
Constructor Details
-
ExpirableCacheTemplate
public ExpirableCacheTemplate()
-
-
Method Details
-
getNowDate
現在日時を取得する。- Returns:
- 現在日時
-
getIfNotExpired
キャッシュから値を取得する。 キャッシュに値が存在しない場合または有効期限切れの場合はnullを返却する。- Specified by:
getIfNotExpired
in interfaceExpirableCache<K,
V> - Parameters:
key
- キャッシュキー- Returns:
- キャッシュされた値
-
add
キャッシュに値を設定する。- Specified by:
add
in interfaceExpirableCache<K,
V> - Parameters:
key
- キャッシュキーvalue
- キャッシュされる値timeout
- 有効期限
-
addUnlimited
キャッシュに有効期限無しで値を設定する。- Specified by:
addUnlimited
in interfaceExpirableCache<K,
V> - Parameters:
key
- キャッシュキーvalue
- キャッシュされる値
-
remove
キャッシュから値を削除する。- Specified by:
remove
in interfaceExpirableCache<K,
V> - Parameters:
key
- 削除対象キャッシュキー
-
clear
public void clear()キャッシュをクリアする。- Specified by:
clear
in interfaceExpirableCache<K,
V>
-
setCacheListener
キャッシュリスナークラスを設定する。 本インタフェース実装クラスは、各イベント発生時にこのリスナーをコールバックする。- Specified by:
setCacheListener
in 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
- システム日時提供クラス
-