|
||||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |
参照先:
説明
クラスの概要 | |
---|---|
MessageFormatter | メッセージコードと引数からメッセージを組み立てるクラスです。 |
プロパティファイルに定義されたパターンを使用してメッセージを組み立てるためのクラスを提供します。
プロパティファイルのキーはメッセージコードと呼ばれます。 メッセージコードは以下の形式の文字列です。
[Level][SystemName][Number]
出力レベル | 意味 |
---|---|
F | Fatal (致命的) |
E | Error (エラー) |
W | Warning (警告) |
I | Info (情報) |
D | Debug (デバッグ) |
システム名がLog
の場合、メッセージコードは次のようになります。
ELog0001 DLog1000
システム名にMessages
を付加した名前がメッセージのパターンを定義したプロパティファイルのベース名になります。
例えばシステム名がLog
の場合、プロパティファイルのベース名はLogMessages
となります。
実際のファイル名は、ベース名に拡張子.properties
を付加してLogMessages.properties
のようになります。
ResourceBundle.Control
のプロパティ形式と同様に言語コードや国コードを持つプロパティファイルを用意することにより、メッセージを国際化することができます。
例えば日本語メッセージのパターンを定義したプロパティファイルはLogMessages_ja.properties
やLogMessages_ja_JP.properties
のようになります。
プロパティファイルの内容はメッセージコード=パターン
の形式となります。
メッセージコードはそのままキーとして記述することも、システム名を省略して記述することもできます。 次の二つの例は等価です。
ELog0001=エラーが発生しました。理由:{0} DLog1000=これはやばい。変数の値:{0}
E0001=エラーが発生しました。理由:{0} D1000=これはやばい。変数の値:{0}
パターンはMessageFormat
の形式に従います。
デフォルトではプロパティファイルは最初に必要になった時点で読み込まれ、そのままキャッシュされます。
アプリケーションの開発中など、プロパティファイルの変更をリアルタイムに反映させたい場合は、
ResourceBundle.clearCache()
を呼び出すことでキャッシュがクリアされます。
|
||||||||||
前のパッケージ 次のパッケージ | フレームあり フレームなし |