public abstract class MessageSourceSupport extends ObjectSE
MessageFormatSE 処理などのサポートインフラストラクチャを提供するが、MessageSource で定義された具象メソッドを実装しない、メッセージソース実装の基本クラス。AbstractMessageSource はこのクラスから派生し、メッセージコード解決のための主要テンプレートメソッドに委譲する具体的な getMessage 実装を提供します。
| コンストラクターと説明 |
|---|
MessageSourceSupport() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected MessageFormatSE | createMessageFormat(StringSE msg, LocaleSE locale) 指定されたメッセージとロケールの MessageFormat を作成します。 |
protected StringSE | formatMessage(StringSE msg, ObjectSE[] args, LocaleSE locale) キャッシュされた MessageFormats を使用して、指定されたメッセージ文字列をフォーマットします。 |
protected boolean | isAlwaysUseMessageFormat() 常に MessageFormat ルールを適用するかどうかを返し、引数のないメッセージも解析します。 |
protected StringSE | renderDefaultMessage(StringSE defaultMessage, ObjectSE[] args, LocaleSE locale) 指定されたデフォルトのメッセージ文字列をレンダリングします。 |
protected ObjectSE[] | resolveArguments(ObjectSE[] args, LocaleSE locale) 引数オブジェクトを解決するためのテンプレートメソッド。 |
void | setAlwaysUseMessageFormat(boolean alwaysUseMessageFormat) 常に MessageFormat ルールを適用して、引数のないメッセージも解析するかどうかを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEprotected final Log logger
public void setAlwaysUseMessageFormat(boolean alwaysUseMessageFormat)
MessageFormat ルールを適用して、引数のないメッセージも解析するかどうかを設定します。 デフォルトは false です: 引数のないメッセージは、デフォルトでは、MessageFormat を介して解析せずに、そのまま返されます。これを true に設定すると、すべてのメッセージに MessageFormat が適用され、すべてのメッセージテキストが MessageFormat エスケープで書き込まれることが期待されます。
例: MessageFormat は、単一引用符が 2 つの隣接する単一引用符("''")としてエスケープされることを想定しています。メッセージテキストがすべてこのようなエスケープで記述されている場合は、引数のプレースホルダーを定義していない場合でも、このフラグを true に設定する必要があります。それ以外の場合は、実際の引数を含むメッセージテキストのみが MessageFormat エスケープで書き込まれることになっています。
MessageFormatSEprotected boolean isAlwaysUseMessageFormat()
MessageFormat ルールを適用するかどうかを返し、引数のないメッセージも解析します。protected StringSE renderDefaultMessage(StringSE defaultMessage, @Nullable ObjectSE[] args, LocaleSE locale)
デフォルトの実装では、文字列を formatMessage に渡し、そこにある引数プレースホルダーを解決します。サブクラスはこのメソッドをオーバーライドして、デフォルトメッセージのカスタム処理をプラグインできます。
defaultMessage - 渡されたデフォルトのメッセージ文字列 args - メッセージ内の params に入力される引数の配列。ない場合は null。locale - フォーマットに使用されるロケール formatMessage(String, Object[], java.util.Locale)protected StringSE formatMessage(StringSE msg, @Nullable ObjectSE[] args, LocaleSE locale)
msg - フォーマットするメッセージ args - メッセージ内のパラメーターに入力される引数の配列、ない場合は null locale - フォーマットに使用されるロケール protected MessageFormatSE createMessageFormat(StringSE msg, LocaleSE locale)
MessageFormat を作成します。msg - MessageFormat を作成するためのメッセージ locale - MessageFormat を作成するロケール MessageFormat インスタンス