クラス MessageSourceSupport
java.lang.ObjectSE
org.springframework.context.support.MessageSourceSupport
- 既知の直属サブクラス
AbstractMessageSource
,DelegatingMessageSource
MessageFormat
SE 処理などのサポートインフラストラクチャを提供するが、MessageSource
で定義された具象メソッドを実装しない、メッセージソース実装の基本クラス。AbstractMessageSource
はこのクラスから派生し、メッセージコード解決のための主要テンプレートメソッドに委譲する具体的な getMessage
実装を提供します。
- 導入:
- 2.5.5
- 作成者:
- Juergen Hoeller
フィールドサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明protected MessageFormatSE
createMessageFormat
(StringSE msg, LocaleSE locale) 指定されたメッセージとロケールのMessageFormat
を作成します。protected StringSE
formatMessage
(StringSE msg, ObjectSE[] args, LocaleSE locale) キャッシュされた MessageFormats を使用して、指定されたメッセージ文字列をフォーマットします。protected boolean
常にMessageFormat
ルールを適用するかどうかを返し、引数のないメッセージも解析します。protected StringSE
renderDefaultMessage
(StringSE defaultMessage, ObjectSE[] args, LocaleSE locale) 指定されたデフォルトのメッセージ文字列をレンダリングします。protected ObjectSE[]
resolveArguments
(ObjectSE[] args, LocaleSE locale) 引数オブジェクトを解決するためのテンプレートメソッド。void
setAlwaysUseMessageFormat
(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, LocaleSE locale) 指定されたデフォルトのメッセージ文字列をレンダリングします。デフォルトのメッセージは、呼び出し元の指定に従って渡され、ユーザーに表示される完全にフォーマットされたデフォルトのメッセージにレンダリングできます。デフォルトの実装では、文字列を
formatMessage
に渡し、そこにある引数プレースホルダーを解決します。サブクラスはこのメソッドをオーバーライドして、デフォルトメッセージのカスタム処理をプラグインできます。- パラメーター:
defaultMessage
- 渡されたデフォルトのメッセージ文字列args
- メッセージ内の params に入力される引数の配列。ない場合はnull
。locale
- フォーマットに使用されるロケール- 戻り値:
- レンダリングされたデフォルトのメッセージ (解決された引数)
- 関連事項:
formatMessage
キャッシュされた MessageFormats を使用して、指定されたメッセージ文字列をフォーマットします。デフォルトでは、渡されたデフォルトメッセージに対して呼び出され、メッセージ内で見つかった引数プレースホルダーを解決します。- パラメーター:
msg
- フォーマットするメッセージargs
- メッセージ内のパラメーターに入力される引数の配列、ない場合はnull
locale
- フォーマットに使用されるロケール- 戻り値:
- フォーマットされたメッセージ (解決された引数)
createMessageFormat
指定されたメッセージとロケールのMessageFormat
を作成します。- パラメーター:
msg
-MessageFormat
を作成するためのメッセージlocale
-MessageFormat
を作成するロケール- 戻り値:
MessageFormat
インスタンス
resolveArguments
引数オブジェクトを解決するためのテンプレートメソッド。デフォルトの実装は、指定された引数の配列をそのまま返します。特別な引数の型を解決するために、サブクラスでオーバーライドできます。
- パラメーター:
args
- 元の引数配列locale
- 解決するロケール- 戻り値:
- 解決された引数配列