クラス MessageSourceSupport
java.lang.ObjectSE
org.springframework.context.support.MessageSourceSupport
- 既知の直属サブクラス
AbstractMessageSource,DelegatingMessageSource
MessageFormatSE 処理などのサポートインフラストラクチャを提供するが、MessageSource で定義された具象メソッドを実装しない、メッセージソース実装の基本クラス。AbstractMessageSource はこのクラスから派生し、メッセージコード解決のための主要テンプレートメソッドに委譲する具体的な getMessage 実装を提供します。
- 導入:
- 2.5.5
- 作成者:
- Juergen Hoeller
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected MessageFormatSEcreateMessageFormat(StringSE msg, LocaleSE locale) 指定されたメッセージとロケールのMessageFormatを作成します。protected StringSEformatMessage(StringSE msg, ObjectSE[] args, LocaleSE locale) キャッシュされた MessageFormats を使用して、指定されたメッセージ文字列をフォーマットします。protected boolean常にMessageFormatルールを適用するかどうかを返し、引数のないメッセージも解析します。protected StringSErenderDefaultMessage(StringSE defaultMessage, ObjectSE[] args, LocaleSE locale) 指定されたデフォルトのメッセージ文字列をレンダリングします。protected ObjectSE[]resolveArguments(ObjectSE[] args, LocaleSE locale) 引数オブジェクトを解決するためのテンプレートメソッド。voidsetAlwaysUseMessageFormat(boolean alwaysUseMessageFormat) 常にMessageFormatルールを適用して、引数のないメッセージも解析するかどうかを設定します。
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
MessageSourceSupport
public MessageSourceSupport()
メソッドの詳細
setAlwaysUseMessageFormat
public void setAlwaysUseMessageFormat(boolean alwaysUseMessageFormat) 常にMessageFormatルールを適用して、引数のないメッセージも解析するかどうかを設定します。デフォルトは
falseです: 引数のないメッセージは、デフォルトでは、MessageFormatを介して解析せずに、そのまま返されます。これをtrueに設定すると、すべてのメッセージにMessageFormatが適用され、すべてのメッセージテキストがMessageFormatエスケープで書き込まれることが期待されます。例:
MessageFormatは、単一引用符が 2 つの隣接する単一引用符("''")としてエスケープされることを想定しています。メッセージテキストがすべてこのようなエスケープで記述されている場合は、引数のプレースホルダーを定義していない場合でも、このフラグをtrueに設定する必要があります。それ以外の場合は、実際の引数を含むメッセージテキストのみがMessageFormatエスケープで書き込まれることになっています。- 関連事項:
isAlwaysUseMessageFormat
protected boolean isAlwaysUseMessageFormat()常にMessageFormatルールを適用するかどうかを返し、引数のないメッセージも解析します。renderDefaultMessage
protected StringSE renderDefaultMessage(StringSE defaultMessage, @Nullable ObjectSE[] args, @Nullable LocaleSE locale) 指定されたデフォルトのメッセージ文字列をレンダリングします。デフォルトのメッセージは、呼び出し元の指定に従って渡され、ユーザーに表示される完全にフォーマットされたデフォルトのメッセージにレンダリングできます。デフォルトの実装では、文字列を
formatMessageに渡し、そこにある引数プレースホルダーを解決します。サブクラスはこのメソッドをオーバーライドして、デフォルトメッセージのカスタム処理をプラグインできます。- パラメーター:
defaultMessage- 渡されたデフォルトのメッセージ文字列args- メッセージ内の params に入力される引数の配列。ない場合はnull。locale- フォーマットに使用されるロケール- 戻り値:
- レンダリングされたデフォルトのメッセージ (解決された引数)
- 関連事項:
formatMessage
protected StringSE formatMessage(StringSE msg, @Nullable ObjectSE[] args, @Nullable LocaleSE locale) キャッシュされた MessageFormats を使用して、指定されたメッセージ文字列をフォーマットします。デフォルトでは、渡されたデフォルトメッセージに対して呼び出され、メッセージ内で見つかった引数プレースホルダーを解決します。- パラメーター:
msg- フォーマットするメッセージargs- メッセージ内のパラメーターに入力される引数の配列、ない場合はnulllocale- フォーマットに使用されるロケール- 戻り値:
- フォーマットされたメッセージ (解決された引数)
createMessageFormat
指定されたメッセージとロケールのMessageFormatを作成します。- パラメーター:
msg-MessageFormatを作成するためのメッセージlocale-MessageFormatを作成するロケール- 戻り値:
MessageFormatインスタンス
resolveArguments
引数オブジェクトを解決するためのテンプレートメソッド。デフォルトの実装は、指定された引数の配列をそのまま返します。特別な引数の型を解決するために、サブクラスでオーバーライドできます。
- パラメーター:
args- 元の引数配列locale- 解決するロケール- 戻り値:
- 解決された引数配列