org.opengion.hayabusa.resource

## クラス LabelDataLoader

- java.lang.Object
- - org.opengion.hayabusa.resource.LabelDataLoader

-     final class LabelDataLoader
      extends Object

       systemId と lang に対応したラベルデータを作成するデータロードクラスです。

       ラベルデータは、項目(CLM)に対して、各種ラベル情報を持っています。
       ラベルデータは、名前(ORG)と名前(短)と名前(長)を持っています。従来のラベルは、表示名称と
       して、一種類しか持っていませんでした。
       名前(ORG)は、従来の表示名称にあたります。これは、一般的なラベルとして
       使用されます。名前(短)は、テーブル一覧のヘッダーの様に、特殊なケースで、
       簡略化された名称を使用するときに利用されます。この切り替えは、自動で判断されます。
       名前(短)に、なにも設定されていない場合は、名前(長)が自動的に使用されますので
       初期データ移行時には、そのまま、通常時もテーブルヘッダー時も同じ文字列が
       使用されます。
       名前(短)と名前(長)は、コメント情報が存在する場合は、Tips表示を行います。

       ラベルデータを作成する場合は、同一ラベルで、作成区分(KBSAKU)違いの場合は、
       最も大きな作成区分を持つコードを使用します。
       作成区分(KBSAKU)='0' のデータは、マスタリソースとして、エンジンとともに
       配布されるリソースになります。

       読込フラグ(FGLOAD)='1'のラベルリソースは、このLabelDataLoaderオブジェクトが
       構築された時に、すべてキャッシュとして内部メモリに読み取ります。
       読込フラグが、'1' 以外のデータは、初期起動時には、メモリにキャッシュされず
       実際に使用されるまで、オブジェクトが作成されません。
       これは、使用されるかどうか判らないラベルデータを、予め作成しないことで、メモリの
       節約を図っています。
       ただし、リソースのキャッシュに、WeakHashMap クラスを使用しているため、
       メモリオーバー時には、クリアされるため、単独での読み取りも行います。

       SYSTEM_ID='**' は、共通リソースです。
       これは、システム間で共通に使用されるリソース情報を登録しておきます。

  変更履歴:

    4.0.0.0 (2004/12/31) 新規作成

  機能分類
    リソース管理
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static boolean` | `USE_DB_APPLICATION_INFO` コネクションにアプリケーション情報を追記するかどうか指定

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `LabelDataLoader(String systemId, String lang, boolean initLoad)` SystemId と lang 毎に ファクトリオブジェクトを作成します。

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `clear()` LabelData オブジェクトのキャッシュをクリアします。
    `void` | `clear(String key)` LabelData オブジェクトのキャッシュを個別にクリアします。
    `LabelData` | `getLabelData(String key)` LabelData オブジェクトを取得します。
    `Map` | `getLabelMap(String query, String dbid)` 指定されたクエリを発行し、ラベルマップを作成します。

    - ### クラスから継承されたメソッド 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

      コネクションにアプリケーション情報を追記するかどうか指定

  - ### コンストラクタの詳細

    - #### LabelDataLoader

          LabelDataLoader(String systemId,
                          String lang,
                          boolean initLoad)

      SystemId と lang 毎に ファクトリオブジェクトを作成します。
      パラメータ:
        `systemId` - システムID
        `lang` - 言語
        `initLoad` - リソースデータの先読み可否(true:先読みする)
      変更履歴:

        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定

  - ### メソッドの詳細

    - #### getLabelData

          public LabelData getLabelData(String key)

      LabelData オブジェクトを取得します。 作成したLabelDataオブジェクトは，内部にプールしておき，同じリソース要求が あったときは，プールの LabelDataを返します。 リソースDBに存在しない場合は、NULLラベルを作成します。このオブジェクトも キャッシュします。 読込フラグ(FGLOAD)が '1' のデータは、起動時に先読みします。 それ以外のデータは、ここでキー要求が発生した時点で読み込みます。 読込フラグ(FGLOAD) のマーカー設定モード(USE_FGLOAD_AUTOSET)を使用する(true)場合は、 追加読み込み(先読みされていないカラム)に対して、読込フラグ(FGLOAD)を 2:使用実績 に 設定します。(次回起動時の、初期読み込みは行いません。)
      パラメータ:
        `key` - ラベルのキー
      戻り値:
        LabelDataオブジェクト
      変更履歴:

        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
        6.3.1.1 (2015/07/10) 読込フラグ(FGLOAD) のマーカー設定追加。

      このメソッドは、nullを返しません

    - #### getLabelMap

          public Map getLabelMap(String query,
                                 String dbid)

      指定されたクエリを発行し、ラベルマップを作成します。 ここで作成されたラベル情報は、内部的にキャッシュされません。 各画面で一時的にラベル情報を追加したい場合に使用します。 発行するクエリでは、第1カラムにラベルキーを、第2カラムにラベル名称を設定します。 第3カラムが存在する場合は、名称(短)として使用されます。(必須ではありません) クエリが指定されていない又は、検索したカラム数が1以下の場合はエラーを返します。
      パラメータ:
        `query` - ラベルマップを作成するクエリ
        `dbid` - 接続先ID
      戻り値:
        ラベルマップ
      変更履歴:

        4.3.4.0 (2008/12/01) 新規作成
        6.4.0.5 (2016/01/09) useLabelMap="true" 時のSQL文の実行は、dbid を使用して行う。

    - #### clear

          public void clear(String key)

      LabelData オブジェクトのキャッシュを個別にクリアします。 リソースデータの更新など、一部分の更新時に、すべてのキャッシュを 破棄するのではなく、指定の分のみ破棄できる機能です。
      パラメータ:
        `key` - ラベルのキー

    - #### clear

          public void clear()

      LabelData オブジェクトのキャッシュをクリアします。

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.