クラス CodeDataLoader
java.lang.Object
org.opengion.hayabusa.resource.CodeDataLoader
コードオブジェクトを作成するデータロードクラスです。
systemId と lang に対応したコードオブジェクトを作成します。
コードオブジェクトは、項目(CLM)に対して、複数のコード(CODE)を持っています。
この複数のコードを表示順に持つことで、プルダウンメニュー等の表示順を指定します。
コードオブジェクトを作成する場合は、同一項目・コードで、作成区分(KBSAKU)違いの場合は、
最も大きな作成区分を持つコードを使用します。
作成区分(KBSAKU)は、他のリソースと異なり、同一項目・コード単位に設定すべきです。
これは、通常は項目単位に作成区分を持つべきところを、コード単位でしか
持てないデータベースの設計になっている為です。アプリケーション側で設定条件を
きちんと管理すれば、作成区分を使用できますが、一般にはお奨めできません。
作成区分(KBSAKU)='0' のデータは、マスタリソースとして、エンジンとともに
配布されるリソースになります。
読み込みフラグ(FGLOAD)は、使用しません。
コードリソースに関しては、システム起動時に、すべてのコードリソースをエンジン内部
に取り込みます。ただし、リソースのキャッシュに、WeakHashMap クラスを使用しているため、
メモリオーバー時には、クリアされるため、単独での読み取りも行います。
SYSTEM_ID='**' は、共通リソースです。
これは、システム間で共通に使用されるリソース情報を登録しておきます。
- 変更履歴:
- 4.0.0.0 (2004/12/31) 新規作成
- 機能分類
- リソース管理
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド -
コンストラクタの概要
コンストラクタコンストラクタ説明CodeDataLoader
(String[] sysAry, boolean initLoad, LabelDataLoader lLoader) lang 毎に ファクトリオブジェクトを作成します。 -
メソッドの概要
修飾子とタイプメソッド説明void
clear()
CodeData オブジェクトのキャッシュをクリアして、再作成します。void
CodeData オブジェクトのキャッシュを個別にクリアします。getCodeData
(String key) CodeData オブジェクトを取得します。getCodeData
(String key, String query) CodeData オブジェクトを取得します。
-
フィールド詳細
-
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
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
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
CodeData オブジェクトのキャッシュを個別にクリアします。 リソースデータの更新など、一部分の更新時に、すべてのキャッシュを 破棄するのではなく、指定の分のみ破棄できる機能です。- パラメータ:
key
- コードのキー- 変更履歴:
- 4.0.2.0 (2007/12/25) コードリソースクリア時に対応するラベルリソースもクリアする。
-
clear
CodeData オブジェクトのキャッシュをクリアして、再作成します。
-