jp.terasoluna.fw.web.struts.action
クラス GlobalMessageResources

java.lang.Object
  上位を拡張 org.apache.struts.util.MessageResources
      上位を拡張 jp.terasoluna.fw.web.struts.action.GlobalMessageResources
すべての実装されたインタフェース:
java.io.Serializable

public final class GlobalMessageResources
extends org.apache.struts.util.MessageResources

業務共通、システムのメッセージリソースを生成するクラス。

Strutsの仕様として、メッセージリソース定義ファイルを利用する場合、 その定義はモジュールごとに独立しているため、すべてのモジュールに共通する メッセージリソースを一元的に定義することができない。
TERASOLUNAではモジュールすべてに共通な、 業務共通メッセージや、システムメッセージを利用する方法を提供している。
このクラスは、システム(フレームワーク)のメッセージリソースと、 業務共通のメッセージリソースを保持し、TERASOLUNAフレームワークが提供する、 どのメッセージリソースクラスを用いても参照されるようになっている。

制限事項
  1. TERASOLUNAフレームワークで提供するMessageResourcesは、 全てこのクラスからシステム、業務共通のメッセージリソースを取得する 必要がある。
  2. ここで取得されたメッセージリソースは国際化対応されない。
業務共通のメッセージリソース設定

業務共通のメッセージリソースは、デフォルトで業務共通メッセージリソース定義 ファイルから取得する。 業務共通メッセージリソース定義ファイルのデフォルトのファイル名は application-messages.propertiesに設定されている。 ファイル名を変更する場合は、 システム設定プロパティファイル(system.properties) に以下のキーで設定を行なう。


 application.messages=sample1-messages
 
application.messagesに対応する文字列は、.propertiesを除いたファイル名である。 必ず.propertiesは除いて記述する。

業務共通メッセージリソース定義ファイルの応用
業務共通のメッセージは業務共通メッセージリソース定義ファイル (application-messages.properties) あるいは、システム設定プロパティファイル(system.properties) で定義したファイル名のファイルの中で、 下記のようにキー(add.message.file.x)を 使用して外部ファイルを指定することにより、 メッセージリソースを追加することができる。
 add.message.file.1=app1-message
 add.message.file.2=app2-message
 
プロパティキー末尾は1で始まる通番であり、途中で通番が途切れている場合は、 そこで外部ファイル読み込み終了となる。
システムのメッセージリソース設定
GlobalMessageResourcesでは、 デフォルトでsystem-message.propertiesをロードし、 ここからシステムのメッセージを取得している。 このシステムメッセージリソース定義ファイル名は、変更できない。

関連項目:
DBMessageResourcesFactory, DBMessageResources, PropertyMessageResourcesExFactory, PropertyMessageResourcesEx, 直列化された形式

フィールドの概要
private static java.lang.String ADD_MESSAGES_FILE
          ルートのメッセージファイルに記述する、追加用外部メッセージファイル。
private static java.lang.String APPLICATION_CONFIG_KEY
          system.propertiesに記述される業務共通 メッセージリソース名。
private static java.lang.String DEFAULT_APPLICATION_MESSAGE
          デフォルトのアプリケーションメッセージリソース名。
private  java.util.Map<java.lang.String,java.lang.String> fwMessages
          フレームワークのメッセージが保持される。
private static GlobalMessageResources globalMessageResources
          シングルトンオブジェクト。
private  java.util.Map<java.lang.String,java.lang.String> globalMessages
          システム一意となるメッセージを保持する。
private static org.apache.commons.logging.Log log
          ログクラス。
private static long serialVersionUID
          シリアルバージョンID
private static java.lang.String SYSTEM_MESSAGE
          フレームワークメッセージリソース名。
 
クラス org.apache.struts.util.MessageResources から継承されたフィールド
config, defaultFactory, defaultLocale, factory, formats, returnNull
 
コンストラクタの概要
private GlobalMessageResources(org.apache.struts.util.MessageResourcesFactory factory, java.lang.String config)
          指定されたパラメータによって GlobalMessageResources を生成する。
 
メソッドの概要
private  void applicationInit()
          業務共通メッセージリソースファイルのロードと メッセージリソースの取得を行なう。
private  java.util.Map<java.lang.String,java.lang.String> getAddApplicationMap(java.util.Properties prop, java.lang.String rootProperty)
          業務共通のルートメッセージから、外部のメッセージリソースファイル一覧を 取得し、メッセージを取得する。
static GlobalMessageResources getInstance()
          このクラスのシングルトンインスタンスを返却する。
 java.lang.String getMessage(java.util.Locale locale, java.lang.String key)
          メッセージを返却する。
private  java.util.Map<java.lang.String,java.lang.String> getRootApplicationMap(java.util.Properties prop)
          業務共通のルートメッセージファイル内に記述されたメッセージ一覧マップを 返却する。
private  void globalInit()
          プロパティファイルから、内部マップへの詰め替えを行なう。
 
クラス org.apache.struts.util.MessageResources から継承されたメソッド
escape, getConfig, getFactory, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessage, getMessageResources, getReturnNull, isEscape, isPresent, isPresent, localeKey, log, log, messageKey, messageKey, setEscape, setReturnNull
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
シリアルバージョンID

関連項目:
定数フィールド値

log

private static org.apache.commons.logging.Log log
ログクラス。


fwMessages

private java.util.Map<java.lang.String,java.lang.String> fwMessages
フレームワークのメッセージが保持される。


globalMessages

private java.util.Map<java.lang.String,java.lang.String> globalMessages
システム一意となるメッセージを保持する。


SYSTEM_MESSAGE

private static final java.lang.String SYSTEM_MESSAGE
フレームワークメッセージリソース名。

関連項目:
定数フィールド値

DEFAULT_APPLICATION_MESSAGE

private static final java.lang.String DEFAULT_APPLICATION_MESSAGE
デフォルトのアプリケーションメッセージリソース名。

関連項目:
定数フィールド値

APPLICATION_CONFIG_KEY

private static final java.lang.String APPLICATION_CONFIG_KEY
system.propertiesに記述される業務共通 メッセージリソース名。

関連項目:
定数フィールド値

ADD_MESSAGES_FILE

private static final java.lang.String ADD_MESSAGES_FILE
ルートのメッセージファイルに記述する、追加用外部メッセージファイル。

関連項目:
定数フィールド値

globalMessageResources

private static GlobalMessageResources globalMessageResources
シングルトンオブジェクト。

コンストラクタの詳細

GlobalMessageResources

private GlobalMessageResources(org.apache.struts.util.MessageResourcesFactory factory,
                               java.lang.String config)
指定されたパラメータによって GlobalMessageResources を生成する。

パラメータ:
factory - メッセージリソースファクトリ
config - この MessageResource に対する設定パラメータ
メソッドの詳細

getInstance

public static GlobalMessageResources getInstance()
このクラスのシングルトンインスタンスを返却する。

戻り値:
GlobalMessageResources このクラスのシングルトンインスタンス

globalInit

private void globalInit()
プロパティファイルから、内部マップへの詰め替えを行なう。


applicationInit

private void applicationInit()
業務共通メッセージリソースファイルのロードと メッセージリソースの取得を行なう。


getRootApplicationMap

private java.util.Map<java.lang.String,java.lang.String> getRootApplicationMap(java.util.Properties prop)
業務共通のルートメッセージファイル内に記述されたメッセージ一覧マップを 返却する。存在しない場合も空のマップを返却する。

パラメータ:
prop - ルートのプロパティファイル
戻り値:
ルートのプロパティファイルに記述されたメッセージ

getAddApplicationMap

private java.util.Map<java.lang.String,java.lang.String> getAddApplicationMap(java.util.Properties prop,
                                                                              java.lang.String rootProperty)
業務共通のルートメッセージから、外部のメッセージリソースファイル一覧を 取得し、メッセージを取得する。 外部ファイルが存在しない場合も空のマップを返却する。 ルートのファイル名とロードするファイル名が一致している場合は、 永久ループを回避する為、読み飛ばされる。

パラメータ:
prop - ルートのプロパティファイル
rootProperty - ルートのプロパティファイル名
戻り値:
外部のメッセージマップ

getMessage

public java.lang.String getMessage(java.util.Locale locale,
                                   java.lang.String key)
メッセージを返却する。 メッセージ取得の優先順位は、
  1. 業務共通のメッセージリソース
  2. システムのメッセージリソース
の順となる。

定義:
クラス org.apache.struts.util.MessageResources 内の getMessage
パラメータ:
locale - ロケールオブジェクト
key - メッセージリソースキー
戻り値:
メッセージ