パッケージ org.seasar.util.message

プロパティファイルに定義されたパターンを使用してメッセージを組み立てるためのクラスを提供します。

参照先:
          説明

クラスの概要
MessageFormatter メッセージコードと引数からメッセージを組み立てるクラスです。
 

パッケージ org.seasar.util.message の説明

プロパティファイルに定義されたパターンを使用してメッセージを組み立てるためのクラスを提供します。

メッセージコード

プロパティファイルのキーはメッセージコードと呼ばれます。 メッセージコードは以下の形式の文字列です。

 [Level][SystemName][Number]
 
Level
メッセージの出力レベルです。
出力レベル 意味
F Fatal (致命的)
E Error (エラー)
W Warning (警告)
I Info (情報)
D Debug (デバッグ)
SystemName
メッセージコードの集まりを識別する1文字以上の識別名です。
Number
4桁の数字で表される通番です。

システム名がLogの場合、メッセージコードは次のようになります。

 ELog0001
 DLog1000
 

プロパティファイル

システム名にMessagesを付加した名前がメッセージのパターンを定義したプロパティファイルのベース名になります。
例えばシステム名がLogの場合、プロパティファイルのベース名はLogMessagesとなります。 実際のファイル名は、ベース名に拡張子.propertiesを付加してLogMessages.properties のようになります。

ResourceBundle.Controlのプロパティ形式と同様に言語コードや国コードを持つプロパティファイルを用意することにより、メッセージを国際化することができます。 例えば日本語メッセージのパターンを定義したプロパティファイルはLogMessages_ja.propertiesLogMessages_ja_JP.propertiesのようになります。

プロパティファイルの内容はメッセージコード=パターンの形式となります。

メッセージコードはそのままキーとして記述することも、システム名を省略して記述することもできます。 次の二つの例は等価です。

メッセージコードをそのままキーとする場合

 ELog0001=エラーが発生しました。理由:{0}
 DLog1000=これはやばい。変数の値:{0}
 

システム名を省略する場合

 E0001=エラーが発生しました。理由:{0}
 D1000=これはやばい。変数の値:{0}
 

パターンはMessageFormatの形式に従います。

プロパティファイルのキャッシュ

デフォルトではプロパティファイルは最初に必要になった時点で読み込まれ、そのままキャッシュされます。 アプリケーションの開発中など、プロパティファイルの変更をリアルタイムに反映させたい場合は、 ResourceBundle.clearCache()を呼び出すことでキャッシュがクリアされます。



Copyright © 2010-2012 The Seasar Foundation. All Rights Reserved.