クラス 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) 新規作成
    機能分類
    リソース管理
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • フィールドの詳細

      • USE_DB_APPLICATION_INFO

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

      • CodeDataLoader

        CodeDataLoader​(String systemId,
                       String baseSys,
                       boolean initLoad,
                       LabelDataLoader lLoader)
        lang 毎に ファクトリオブジェクトを作成します。
        パラメータ:
        systemId - システムID
        baseSys - ベースとなるSYSTEM_ID
        initLoad - リソースデータの先読み可否(true:先読みする)
        lLoader - ラベルデータローダー
        変更履歴:
        7.2.9.2 (2020/10/30) ベースとなるSYSTEM_ID(RESOURCE_BASE_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文字列を変更。それに伴って、引数の並び順を変更。
      • 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 オブジェクトのキャッシュをクリアして、再作成します。