概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.7.0.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.resource
クラス ResourceManager

    java.lang.Object
      org.opengion.hayabusa.resource.ResourceManager

    public final class ResourceManager

extends java.lang.Object

java.util.ResourceBundle クラスを複数管理するリソースクラスです。 ResourceManager は、

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

                    LabelResource.properties   ラベルリソース(テーブル定義やカラム名などの画面に表示するリソース)
                    CodeResource.properties    コードリソース(選択データなどプルダウンメニューで選択するリソース)
                    MessageResource.properties メッセージリソース(エラーコードやメッセージなどを表示するリソース)

     の３つのプロパティーファイルを内部に持っており,それぞれのメソッドにより，
     リソースの返す値を決めています。

     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オブジェクトの作成方法として、
     ３通り考えられます。
     １つ目は、毎回 要求が発生する毎に CodeSelection を作成し、プールしていきます。こうすることで、
     初めて使用されたときだけオブジェクト化されますので、メモリの節約が可能です。ただし、
     プールにヒットしなかった場合は、やはりリソースから検索しますので、元々ヒットしない
     キーに対しては、毎回リソースを検索するため、非効率です。
     ２つめは、元々ヒットしないキーに対して、NullCodeSelectionオブジェクトを登録しておくことで、
     プールにため込んで行くと言う方法です。この場合は、シングルトーンにしてメモリを節約しますが、
     それでもプール自体の容量は、確保しておく必要があります。
     ３つめは、この ResourceManager がインスタンス化されるときに、すべての CodeSelectionオブジェクトを
     あらかじめ プールしておく方法です。使わない CodeSelection もインスタンス化する変わりに、
     キャッシュにヒットしない場合は、即 CodeSelection が存在しないと判断できるため、
     もっともパフォーマンスが高くなります。
     本 ResourceManager の実装は、３つめの、あらかじめ、すべてをキャッシュしておく方法を
     採用しています。

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

    コンストラクタの概要

    ResourceManager(java.lang.String systemId,
                                   java.lang.String lg,
                                   boolean initLoad)

              コンストラクター
            システムＩＤと言語コードを指定して,生成します。

    メソッドの概要

     void
    clear()

              リソースマネージャーをクリア(初期化)します。

     void
    clear(java.lang.String key)

              リソースマネージャーをキーに基づいて部分クリアします。

     CodeData
    getCodeData(java.lang.String key)

              コードリソースから,コード文字列を返します。

     CodeData
    getCodeData(java.lang.String key,
                           java.lang.String query)

              コードリソースから,コード文字列を返します。

     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にセットします。

     void
    setDBColumn(java.lang.String key,
                           DBColumn dbColumn)

              DBColumn オブジェクトをプールに登録します。

    クラス java.lang.Object から継承されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    コンストラクタの詳細

    ResourceManager

    public ResourceManager(java.lang.String systemId,
                           java.lang.String lg,
                           boolean initLoad)

    コンストラクター
            システムＩＤと言語コードを指定して,生成します。

    パラメータ:systemId - システムＩＤlg - 言語コードinitLoad - リソースデータの先読み可否(true:先読みする)

    メソッドの詳細

    getLang

    public java.lang.String getLang()

    設定されている言語を返します。

    戻り値:言語

    getDBColumn

    public DBColumn getDBColumn(java.lang.String key)

    DBColumn オブジェクトを取得します。
     作成したDBColumnオブジェクトは，内部にプールしておき，同じオブジェクト要求が
     あったときは，プールのオブジェクトを利用して,DBColumnを返します。

    パラメータ:key - カラムID
    戻り値:DBColumnオブジェクト変更履歴:3.4.0.0 (2003/09/01) ラベルカラム、コードカラム、表示パラメータ、編集パラメータ、文字パラメータの追加。3.5.6.4 (2004/07/16) 追加パラメータ取り込み時に、"_" は、null 扱いとする。3.6.0.7 (2004/11/06) DBColumn の official属性追加

    makeDBColumn

    public DBColumn makeDBColumn(java.lang.String key)

    DBColumn オブジェクトを作成します。
     内部にプールに存在すればそれを、なければ新規に作成します。
     それでも存在しない場合は、DBColumnConfig より、ラベルと言語を指定して
     新規に作成します。

    パラメータ:key - カラムID
    戻り値:DBColumnオブジェクト関連項目:getDBColumn( String )

    setDBColumn

    public void setDBColumn(java.lang.String key,
                            DBColumn dbColumn)

    DBColumn オブジェクトをプールに登録します。
     DBColumn を動的に作成する機能で、作成したカラムオブジェクトを
     プールに登録することで、通常のリソースと同じように利用できるように
     します。

    パラメータ:key - カラムIDdbColumn - DBColumnオブジェクト変更履歴:5.4.2.2 (2011/12/14) 新規追加

    getLabel

    public java.lang.String getLabel(java.lang.String key)

    ラベルリソースから,ラベルを返します。
     引数の言語コードに応じたリソースが登録されていない場合は,
     引数のラベルキーそのまま返します。

    パラメータ:key - ラベルキー
    戻り値:リソースに応じたラベル文字列(無ければ ラベルキー)変更履歴:4.0.0.0 (2005/01/31) オラクルとWindowsとの間の "～"の文字化け対策中止4.0.0.0 (2007/10/18) メッセージリソースとの統合化

    getLabel

    public java.lang.String getLabel(java.lang.String key,
                                     java.lang.String[] args)

    メッセージリソースから,キーで指定されたメッセージに,
     引数で指定された変数値をセットしたメッセージを返します。

     このメッセージは,リソースで選ばれたロケール毎のメッセージに，
     MessageFormat#format でフォーマットする事により,作成されます。
     メッセージがリソースに存在しない場合は,キーを返します。

    パラメータ:key - キーargs - メッセージの引数
    戻り値:メッセージ(無ければ キー)変更履歴:4.0.0.0 (2005/01/31) オラクルとWindowsとの間の "～"の文字化け対策4.0.0.0 (2007/10/17) メッセージリソース統合に伴いラベルローダーを使用する4.0.0.0 (2007/10/18) 名称変更 getMessage > getLabel5.1.1.0 (2009/12/01) #xxxxの変換で、カラム名が複数指定されている場合の対応

    getLabel

    public java.lang.String getLabel(ErrMsg errMsg)

    メッセージリソースから,ErrMsgオブジェクトで指定されたメッセージを返します。

     このエラーメッセージは,リソースで選ばれたロケール毎のメッセージに，
     MessageFormat#format でフォーマットする事により,作成されます。
     エラーメッセージがリソースに存在しない場合は,エラーコードを返します。

    パラメータ:errMsg - ErrMsgオブジェクト
    戻り値:エラーメッセージ(無ければ ErrMsgオブジェクトの toString() )変更履歴:4.0.0.0 (2004/12/31) 新規追加4.0.0.0 (2007/10/18) メッセージリソースとの統合化

    getShortLabel

    public java.lang.String getShortLabel(java.lang.String key)

    ラベルリソースから,ラベル(短)を返します。
     引数の言語コードに応じたリソースが登録されていない場合は,
     引数のラベルキーそのまま返します。

    パラメータ:key - ラベルキー
    戻り値:リソースに応じたラベル文字列(無ければ ラベルキー)変更履歴:4.3.3.0 (2008/10/01) 新規作成

    getDescription

    public java.lang.String getDescription(java.lang.String key)

    ラベルリソースから,概要説明を返します。
     キーのデータが存在しない場合はnullを返します。

    パラメータ:key - ラベルキー
    戻り値:リソースに応じた概要説明(無ければ null)変更履歴:4.3.4.5 (2009/01/08) 新規作成

    getDescription

    public java.lang.String getDescription(java.lang.String key,
                                           java.lang.String[] args)

    ラベルリソースから,概要説明を返します。
     {0},{1}...の置換えを行います。
     キーのデータが存在しない場合はnullを返します。

    パラメータ:key - ラベルキーargs - パラメータ
    戻り値:リソースに応じた概要説明(無ければ null)変更履歴:4.3.7.6 (2009/07/15) 新規作成

    getDescription

    public java.lang.String getDescription(ErrMsg errMsg)

    ラベルリソースから,概要説明を返します。
     キーのデータが存在しない場合はnullを返します。

    パラメータ:errMsg - ErrMsgオブジェクト
    戻り値:エラーメッセージ(キーが無ければnull)変更履歴:4.3.7.6 (2009/07/15) 新規作成

    getLabelData

    public LabelData getLabelData(java.lang.String key)

    ラベルリソースから,ラベルを返します。
     引数の言語コードに応じたリソースが登録されていない場合は,
     引数のラベルキーそのまま返します。

    パラメータ:key - ラベルキー
    戻り値:リソースに応じたラベル文字列(無ければ ラベルキー)変更履歴:4.0.0.0 (2005/01/31) 新規作成

    getCodeData

    public CodeData getCodeData(java.lang.String key)

    コードリソースから,コード文字列を返します。

    パラメータ:key - コードキー
    戻り値:コードデータオブジェクト(無ければ null)

    getCodeData

    public CodeData getCodeData(java.lang.String key,
                                java.lang.String query)

    コードリソースから,コード文字列を返します。
     引数にQUERYを渡すことで、DBから、動的にコードリソースを作成できます。

    パラメータ:key - コードキーquery - 検索SQL(引数に、? を一つ持つ)
    戻り値:コードデータオブジェクト(無ければ null)変更履歴:5.4.2.2 (2011/12/14) 新規追加。

    makeGUIInfos

    public void makeGUIInfos(UserInfo user)

    ログインユーザーで使用する画面オブジェクトを、UserInfoにセットします。
     各、UserInfo は、自分自身が使用する 画面オブジェクトのみを管理することで、
     画面アクセス有無を、すばやく検索することが可能になります。

    パラメータ:user - 指定のユーザーロールに対応する画面だけをMapにセットする。変更履歴:3.1.0.1 (2003/03/26) GUIInfo のキー順サポートの為に、引数追加。4.0.0.0 (2005/01/31) 使用画面のMap を UserInfo にセットします。4.3.0.0 (2008/07/04) ロールモードマルチ対応5.2.0.0 (2010/09/01) アクセス禁止アドレスによる不正アクセス防止機能追加

    getLabelMap

    public java.util.Map<java.lang.String,LabelData> getLabelMap(java.lang.String query)

    指定されたクエリを発行し、ラベルマップを作成します。

    パラメータ:query - ラベルマップを作成するクエリ
    戻り値:ラベルマップ関連項目:LabelDataLoader.getLabelMap( String )変更履歴:4.3.4.0 (2008/12/01) 新規作成

    clear

    public void clear(java.lang.String key)

    リソースマネージャーをキーに基づいて部分クリアします。
     ここでは、部分クリアなため、GUIData に関しては、処理されません。
     また、存在しないキーを指定されたリソースは、何も処理されません。

    パラメータ:key - カラムのキー変更履歴:5.4.3.4 (2012/01/12) labelPool の削除追加

    guiClear

    public void guiClear()

    GUI情報をクリアします。
     ここでは、関連するラベル、コードリソースの部分クリアも行います。
     GUI情報は、シーケンスに管理しているため、この処理１回ごとに、
     GUIData を全件再読み込みを行いますので、ご注意ください。

    clear

    public void clear()

    リソースマネージャーをクリア(初期化)します。

    変更履歴:5.4.3.4 (2012/01/12) labelPool の削除追加

          概要
          パッケージ
        クラス
          階層ツリー
          非推奨 API
          索引
          ヘルプ

    openGion 5.7.0.0

     前のクラス
     次のクラス

      フレームあり
     フレームなし

      概要: 入れ子 | フィールド | コンストラクタ | メソッド

    詳細: フィールド | コンストラクタ | メソッド

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