|
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.opengion.hayabusa.resource.ResourceManager
public final class ResourceManager
java.util.ResourceBundle クラスを複数管理するリソースクラスです。 ResourceManager は、
LabelResource.properties ラベルリソース(テーブル定義やカラム名などの画面に表示するリソース) CodeResource.properties コードリソース(選択データなどプルダウンメニューで選択するリソース) MessageResource.properties メッセージリソース(エラーコードやメッセージなどを表示するリソース) の3つのプロパティーファイルを内部に持っており,それぞれのメソッドにより, リソースの返す値を決めています。 ResourceManagerは,単独でも生成できますが,各ユーザー毎に作成するよりも ResourceFactory#newInstance( lang )メソッドより生成した方が,プーリングされるので 効率的です。 リソース作成時に指定するロケールは,ISO 言語コード(ISO-639 で定義される 2 桁の小文字) http://www.ics.uci.edu/pub/ietf/http/related/iso639.txtを使用して下さい。 ただし,内部的に Locale を構築していますが,その正しさは,チェックされていませんので, 指定するロケールに応じた properties ファイルを用意しておいて下さい。 日本語の場合は, 言語コードは "jp" なので,LabelResource_jp.properties ラベルリソース(日本語) CodeResource_jp.properties コードリソース(日本語) MessageResource_jp.properties メッセージリソース(日本語) を用意して下さい。 CodeResource については、リソースファイルから CodeSelection オブジェクトを 作成して利用します。この、CodeSelection オブジェクトの作成方法として、 3通り考えられます。 1つ目は、毎回 要求が発生する毎に CodeSelection を作成し、プールしていきます。こうすることで、 初めて使用されたときだけオブジェクト化されますので、メモリの節約が可能です。ただし、 プールにヒットしなかった場合は、やはりリソースから検索しますので、元々ヒットしない キーに対しては、毎回リソースを検索するため、非効率です。 2つめは、元々ヒットしないキーに対して、NullCodeSelection オブジェクトを登録しておくことで、 プールにため込んで行くと言う方法です。この場合は、シングルトーンにしてメモリを節約しますが、 それでもプール自体の容量は、確保しておく必要があります。 3つめは、この ResourceManager がインスタンス化されるときに、すべての CodeSelection オブジェクトを あらかじめ プールしておく方法です。使わない CodeSelection もインスタンス化する変わりに、 キャッシュにヒットしない場合は、即 CodeSelection が存在しないと判断できるため、 もっともパフォーマンスが高くなります。 本 ResourceManager の実装は、3つめの、あらかじめ、すべてをキャッシュしておく方法を 採用しています。
コンストラクタの概要 | |
---|---|
ResourceManager(java.lang.String systemId,
java.lang.String lg,
boolean initLoad)
コンストラクター システムIDと言語コードを指定して,生成します。 |
メソッドの概要 | |
---|---|
void |
clear()
リソースマネージャーをクリア(初期化)します。 |
void |
clear(java.lang.String key)
リソースマネージャーをキーに基づいて部分クリアします。 |
CodeData |
getCodeData(java.lang.String key)
コードリソースから,コード文字列を返します。 |
DBColumn |
getDBColumn(java.lang.String key)
DBColumn オブジェクトを取得します。 |
java.lang.String |
getDescription(ErrMsg errMsg)
ラベルリソースから,概要説明を返します。 |
java.lang.String |
getDescription(java.lang.String key)
ラベルリソースから,概要説明を返します。 |
java.lang.String |
getDescription(java.lang.String key,
java.lang.String[] args)
ラベルリソースから,概要説明を返します。 |
java.lang.String |
getLabel(ErrMsg errMsg)
メッセージリソースから,ErrMsgオブジェクトで指定されたメッセージを返します。 |
java.lang.String |
getLabel(java.lang.String key)
ラベルリソースから,ラベルを返します。 |
java.lang.String |
getLabel(java.lang.String key,
java.lang.String[] args)
メッセージリソースから,キーで指定されたメッセージに, 引数で指定された変数値をセットしたメッセージを返します。 |
LabelData |
getLabelData(java.lang.String key)
ラベルリソースから,ラベルを返します。 |
java.util.Map<java.lang.String,LabelData> |
getLabelMap(java.lang.String query)
指定されたクエリを発行し、ラベルマップを作成します。 |
java.lang.String |
getLang()
設定されている言語を返します。 |
java.lang.String |
getShortLabel(java.lang.String key)
ラベルリソースから,ラベル(短)を返します。 |
void |
guiClear()
GUI情報をクリアします。 |
DBColumn |
makeDBColumn(java.lang.String key)
DBColumn オブジェクトを作成します。 |
void |
makeGUIInfos(UserInfo user)
ログインユーザーで使用する画面オブジェクトを、UserInfoにセットします。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public ResourceManager(java.lang.String systemId, java.lang.String lg, boolean initLoad)
systemId
- システムIDlg
- 言語コードinitLoad
- リソースデータの先読み可否(true:先読みする)メソッドの詳細 |
---|
public java.lang.String getLang()
public DBColumn getDBColumn(java.lang.String key)
key
- カラムID
3.4.0.0 (2003/09/01) ラベルカラム、コードカラム、表示パラメータ、編集パラメータ、文字パラメータの追加。 |
3.5.6.4 (2004/07/16) 追加パラメータ取り込み時に、"_" は、null 扱いとする。 |
3.6.0.7 (2004/11/06) DBColumn の official属性追加 |
public DBColumn makeDBColumn(java.lang.String key)
key
- カラムID
getDBColumn( String )
public java.lang.String getLabel(java.lang.String key)
key
- ラベルキー
4.0.0 (2005/01/31) オラクルとWindowsとの間の "~"の文字化け対策中止 |
4.0.0.0 (2007/10/18) メッセージリソースとの統合化 |
public java.lang.String getLabel(java.lang.String key, java.lang.String[] args)
key
- キーargs
- メッセージの引数
4.0.0 (2005/01/31) オラクルとWindowsとの間の "~"の文字化け対策 |
4.0.0.0 (2007/10/17) メッセージリソース統合に伴いラベルローダーを使用する |
4.0.0.0 (2007/10/18) 名称変更 getMessage > getLabel |
public java.lang.String getLabel(ErrMsg errMsg)
errMsg
- ErrMsgオブジェクト
4.0.0 (2004/12/31) 新規追加 |
4.0.0.0 (2007/10/18) メッセージリソースとの統合化 |
public java.lang.String getShortLabel(java.lang.String key)
key
- ラベルキー
4.3.3.0 (2008/10/01) 新規作成 |
public java.lang.String getDescription(java.lang.String key)
key
- ラベルキー
4.3.4.5 (2009/01/08) 新規作成 |
public java.lang.String getDescription(java.lang.String key, java.lang.String[] args)
key
- ラベルキーargs
- パラメータ
4.3.7.6 (2009/07/15) 新規作成 |
public java.lang.String getDescription(ErrMsg errMsg)
errMsg
- ErrMsgオブジェクト
4.3.7.6 (2009/07/15) 新規作成 |
public LabelData getLabelData(java.lang.String key)
key
- ラベルキー
4.0.0 (2005/01/31) 新規作成 |
public CodeData getCodeData(java.lang.String key)
key
- コードキー
public void makeGUIInfos(UserInfo user)
user
- UserInfo 指定のユーザーロールに対応する画面だけをMapにセットする。3.1.0.1 (2003/03/26) GUIInfo のキー順サポートの為に、引数追加。 |
4.0.0 (2005/01/31) 使用画面のMap を UserInfo にセットします。 |
4.3.0.0 (2008/07/04) ロールモードマルチ対応 |
public java.util.Map<java.lang.String,LabelData> getLabelMap(java.lang.String query)
query
- ラベルマップを作成するクエリ
LabelDataLoader.getLabelMap( String )
4.3.4.0 (2008/12/01) 新規作成 |
public void clear(java.lang.String key)
key
- カラムのキーpublic void guiClear()
public void clear()
|
openGion 5.0.1.0 | ||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |