Class BasicStaticDataCache<T>

java.lang.Object
nablarch.core.cache.BasicStaticDataCache<T>
Type Parameters:
T - 静的データの型
All Implemented Interfaces:
StaticDataCache<T>, Initializable

public class BasicStaticDataCache<T> extends Object implements StaticDataCache<T>, Initializable
StaticDataCacheインタフェースの基本実装クラス。
静的データをHashMapに保持する。
Author:
Koichi Asano
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    IDを指定して静的データを取得する。
    getValues(String indexName, Object key)
    条件に合致した静的データのリストを取得する。
    条件は事前にインデックスとして辞書に登録する必要があり、 このメソッドではそのインデックス名を指定して静的データを取得する。
    void
    初期化処理を行う。
    void
    静的データの再読み込みを行う。
    void
    静的データのローダを設定する。
    void
    setLoadOnStartup(boolean loadOnStartup)
    初期化時ロード要否を設定する。

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • BasicStaticDataCache

      public BasicStaticDataCache()
  • Method Details

    • setLoader

      public void setLoader(StaticDataLoader<T> loader)
      静的データのローダを設定する。
      Parameters:
      loader - 静的データのローダ
    • setLoadOnStartup

      public void setLoadOnStartup(boolean loadOnStartup)
      初期化時ロード要否を設定する。
      Parameters:
      loadOnStartup - 初期化時ロード要否
    • initialize

      public void initialize()
      初期化処理を行う。
      Specified by:
      initialize in interface Initializable
    • refresh

      public void refresh()
      静的データの再読み込みを行う。
      一括ロードを実行する際は、データを全てロードしてからキャッシュデータの上書きを 行うことで、切り替えによるデータ取得をブロッキングする時間を最小化している。
      Specified by:
      refresh in interface StaticDataCache<T>
    • getValue

      public T getValue(Object id)
      IDを指定して静的データを取得する。
      Specified by:
      getValue in interface StaticDataCache<T>
      Parameters:
      id - データのID
      Returns:
      IDに対応する静的データ
    • getValues

      public List<T> getValues(String indexName, Object key)
      条件に合致した静的データのリストを取得する。
      条件は事前にインデックスとして辞書に登録する必要があり、 このメソッドではそのインデックス名を指定して静的データを取得する。
      Specified by:
      getValues in interface StaticDataCache<T>
      Parameters:
      indexName - インデックス名
      key - 静的データのインデックスキー
      Returns:
      インデックス名、インデックスキーに対応するデータのリスト