パッケージ org.iplass.mtp.impl.cache

クラス CacheController<K,V>

java.lang.Object
org.iplass.mtp.impl.cache.CacheController<K,V>
型パラメータ:
K - keyの型
V - valueの型

public class CacheController<K,V> extends Object
Read-Throughなキャッシュを簡単に実現するためのキャッシュコントローラ。
  • コンストラクタの詳細

    • CacheController

      public CacheController(CacheStore store, boolean hasVersion, int indexCount, LoadingAdapter<K,V> adapter, boolean useNegativeCacheOnSharedCache)
    • CacheController

      public CacheController(CacheStore store, boolean hasVersion, int indexCount, LoadingAdapter<K,V> adapter, boolean useNegativeCacheOnSharedCache, boolean isStrictUpdate)
  • メソッドの詳細

    • get

      public V get(K key)
      指定のkeyのキャッシュの値を取得。 キャッシュにない場合、LoadingAdapterを利用して バックエンドのデータストアよりデータをロードしてキャッシュする。
      パラメータ:
      key -
      戻り値:
    • getByIndex

      public V getByIndex(int indexType, Object indexVal)
      指定のindexTypeのindexValにてキャッシュの値を取得。 キャッシュにない場合、LoadingAdapterを利用して バックエンドのデータストアよりデータをロードしてキャッシュする。
      パラメータ:
      indexType -
      indexVal -
      戻り値:
    • getStore

      public CacheStore getStore()
      このCacheControllerが管理するCacheStoreを取得。
      戻り値:
    • getListByIndex

      public List<V> getListByIndex(int indexType, Object indexVal)
      現時点でキャッシュに格納されているデータのみが対象。Read-Throughはしない。
      パラメータ:
      indexType -
      indexVal -
      戻り値:
    • removeByIndex

      public List<V> removeByIndex(int indexType, Object indexVal)
    • notifyCreate

      public void notifyCreate(V value)
      指定の値が作成されたことをCacheControllerに通知する。
      パラメータ:
      value -
    • notifyUpdate

      public void notifyUpdate(V value)
      指定の値が更新されたことをCacheControllerに通知する。
      パラメータ:
      value -
    • notifyDeleteByKey

      public void notifyDeleteByKey(K key)
      指定のkeyの値が削除されたことをCacheControllerに通知する。
      パラメータ:
      value -
    • notifyInvalidByKey

      public void notifyInvalidByKey(K key)
      指定のkeyの値を無効にするよう通知する。
      パラメータ:
      value -
    • notifyDelete

      public void notifyDelete(V value)
      指定の値が削除されたことをCacheControllerに通知する。
      パラメータ:
      value -
    • notifyInvalid

      public void notifyInvalid(V value)
      指定の値を無効にするよう通知する。
      パラメータ:
      value -
    • clearAll

      public void clearAll()
      キャッシュを全てクリアする。
    • refreshTransactionLocalStore

      public void refreshTransactionLocalStore(K key)
    • maintenance

      public void maintenance(Consumer<CacheController<K,V>> maintenanceFunction)
    • invalidateCacheStore

      public void invalidateCacheStore()
    • trace

      public String trace()