クラス 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) 新規作成
- 機能分類
- リソース管理
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static String
QUERY
DBリソースの初期一括読み込みのクエリーstatic String
QUERY2
DBリソースの個別読み込み時のクエリーstatic boolean
USE_DB_APPLICATION_INFO
コネクションにアプリケーション情報を追記するかどうか指定
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 CodeDataLoader(String systemId, String baseSys, boolean initLoad, LabelDataLoader lLoader)
lang 毎に ファクトリオブジェクトを作成します。
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 void
clear()
CodeData オブジェクトのキャッシュをクリアして、再作成します。void
clear(String key)
CodeData オブジェクトのキャッシュを個別にクリアします。CodeData
getCodeData(String key)
CodeData オブジェクトを取得します。CodeData
getCodeData(String key, String query)
CodeData オブジェクトを取得します。
-
-
-
コンストラクタの詳細
-
CodeDataLoader
CodeDataLoader(String systemId, String baseSys, boolean initLoad, LabelDataLoader lLoader)
lang 毎に ファクトリオブジェクトを作成します。- パラメータ:
systemId
- システムIDbaseSys
- ベースとなるSYSTEM_IDinitLoad
- リソースデータの先読み可否(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)設定の対応
-
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 オブジェクトのキャッシュをクリアして、再作成します。
-
-