クラス CodeDataLoader

java.lang.Object
org.opengion.hayabusa.resource.CodeDataLoader

final class CodeDataLoader extends Object
コードオブジェクトを作成するデータロードクラスです。 systemId と lang に対応したコードオブジェクトを作成します。 コードオブジェクトは、項目(CLM)に対して、複数のコード(CODE)を持っています。 この複数のコードを表示順に持つことで、プルダウンメニュー等の表示順を指定します。 コードオブジェクトを作成する場合は、同一項目・コードで、作成区分(KBSAKU)違いの場合は、 最も大きな作成区分を持つコードを使用します。 作成区分(KBSAKU)は、他のリソースと異なり、同一項目・コード単位に設定すべきです。 これは、通常は項目単位に作成区分を持つべきところを、コード単位でしか 持てないデータベースの設計になっている為です。アプリケーション側で設定条件を きちんと管理すれば、作成区分を使用できますが、一般にはお奨めできません。 作成区分(KBSAKU)='0' のデータは、マスタリソースとして、エンジンとともに 配布されるリソースになります。 読み込みフラグ(FGLOAD)は、使用しません。 コードリソースに関しては、システム起動時に、すべてのコードリソースをエンジン内部 に取り込みます。ただし、リソースのキャッシュに、WeakHashMap クラスを使用しているため、 メモリオーバー時には、クリアされるため、単独での読み取りも行います。 SYSTEM_ID='**' は、共通リソースです。 これは、システム間で共通に使用されるリソース情報を登録しておきます。
変更履歴:
4.0.0.0 (2004/12/31) 新規作成
機能分類
リソース管理
導入されたバージョン:
JDK5.0,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final boolean
    コネクションにアプリケーション情報を追記するかどうか指定
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    CodeDataLoader(String[] sysAry, boolean initLoad, LabelDataLoader lLoader)
    lang 毎に ファクトリオブジェクトを作成します。
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    CodeData オブジェクトのキャッシュをクリアして、再作成します。
    void
    CodeData オブジェクトのキャッシュを個別にクリアします。
    CodeData オブジェクトを取得します。
    getCodeData(String key, String query)
    CodeData オブジェクトを取得します。

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • USE_DB_APPLICATION_INFO

      public static final boolean USE_DB_APPLICATION_INFO
      コネクションにアプリケーション情報を追記するかどうか指定
  • コンストラクタの詳細

    • CodeDataLoader

      CodeDataLoader(String[] sysAry, boolean initLoad, LabelDataLoader lLoader)
      lang 毎に ファクトリオブジェクトを作成します。
      パラメータ:
      sysAry - 階層リソースの元となるSYSTEM_IDの配列(前方優先)
      initLoad - リソースデータの先読み可否(true:先読みする)
      lLoader - ラベルデータローダー
      変更履歴:
      7.2.9.2 (2020/10/30) ベースとなるSYSTEM_ID(RESOURCE_BASE_SYSTEM_ID)の取得, 8.0.0.0 (2021/10/01) RESOURCE_BASE_SYSTEM_ID は、SYSTEM_IDの配列で複数指定できる。 // * @param systemId システムID // * @param baseSys ベースとなるSYSTEM_ID
  • メソッドの詳細

    • getCodeData

      public CodeData getCodeData(String key)
      CodeData オブジェクトを取得します。 作成したCodeDataオブジェクトは、内部にプールしておき、同じリソース要求が あったときは、プールの CodeDataを返します。
      パラメータ:
      key - コードのキー
      戻り値:
      CodeDataオブジェクト
      変更履歴:
      4.3.8.0 (2009/08/01) rawShortLabel追加, 5.6.8.2 (2013/09/20) rawLongLabel追加, 6.2.0.0 (2015/02/27) description 概要説明 追加, 7.2.6.0 (2020/06/30) "**"以外にベースとなるSYSTEM_ID(RESOURCE_BASE_SYSTEM_ID)設定の対応, 7.3.1.3 (2021/03/09) QUERY文字列を変更。それに伴って、引数の並び順を変更。, 8.0.0.0 (2021/10/01) 階層リソースの元となるSYSTEM_IDの配列(前方優先)を使用する。
    • getCodeData

      public CodeData getCodeData(String key, String query)
      CodeData オブジェクトを取得します。 作成したCodeDataオブジェクトは、内部にプールしておき、同じリソース要求が あったときは、プールの CodeDataを返します。 引数にQUERYを渡すことで、DBから、動的にコードリソースを作成できます。 引数の順番は、CodeData で定義している CLM,CODE,LNAME,SNAME の順番のままです。 QUERY には、key を引数にとる必要があります。つまり、WHERE CLM = ? の様な記述が必要です。
      パラメータ:
      key - コードのキー
      query - 検索SQL(引数に、? を一つ持つ)
      戻り値:
      CodeDataオブジェクト
      変更履歴:
      5.4.2.2 (2011/12/14) 新規追加。
    • clear

      public void clear(String key)
      CodeData オブジェクトのキャッシュを個別にクリアします。 リソースデータの更新など、一部分の更新時に、すべてのキャッシュを 破棄するのではなく、指定の分のみ破棄できる機能です。
      パラメータ:
      key - コードのキー
      変更履歴:
      4.0.2.0 (2007/12/25) コードリソースクリア時に対応するラベルリソースもクリアする。
    • clear

      public void clear()
      CodeData オブジェクトのキャッシュをクリアして、再作成します。