public class StaticMessageSource extends AbstractMessageSource
MessageSource
の単純な実装。この MessageSource は、基本的な国際化をサポートしています。本番システムでの使用ではなく、テストを目的としています。
logger
コンストラクターと説明 |
---|
StaticMessageSource() |
修飾子と型 | メソッドと説明 |
---|---|
void | addMessage(StringSE code, LocaleSE locale, StringSE msg) 指定されたメッセージを指定されたコードに関連付けます。 |
void | addMessages(MapSE<StringSE, StringSE> messages, LocaleSE locale) 指定されたメッセージ値を、指定されたキーにコードとして関連付けます。 |
protected MessageFormatSE | resolveCode(StringSE code, LocaleSE locale) サブクラスは、メッセージを解決するためにこのメソッドを実装する必要があります。 |
protected StringSE | resolveCodeWithoutArguments(StringSE code, LocaleSE locale) サブクラスはこのメソッドをオーバーライドして、引数なしで最適化された方法でメッセージを解決できます。 |
StringSE | toString() |
getCommonMessages, getDefaultMessage, getDefaultMessage, getMessage, getMessage, getMessage, getMessageFromParent, getMessageInternal, getParentMessageSource, isUseCodeAsDefaultMessage, resolveArguments, setCommonMessages, setParentMessageSource, setUseCodeAsDefaultMessage
createMessageFormat, formatMessage, isAlwaysUseMessageFormat, renderDefaultMessage, setAlwaysUseMessageFormat
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
@Nullable protected StringSE resolveCodeWithoutArguments(StringSE code, LocaleSE locale)
AbstractMessageSource
デフォルトの実装では、AbstractMessageSource.resolveCode(java.lang.String, java.util.Locale)
メソッドに委譲することにより、MessageFormat を使用します。サブクラスでは、これを最適化された解決に置き換えることをお勧めします。
残念ながら、java.text.MessageFormat
は効率的な方法で実装されていません。特に、そもそもメッセージパターンに引数プレースホルダーが含まれていないことを検出しません。引数のないメッセージの場合は MessageFormat を回避することをお勧めします。
AbstractMessageSource
の resolveCodeWithoutArguments
code
- 解決するメッセージのコード locale
- コードを解決するロケール (サブクラスは国際化をサポートすることが推奨されます)null
AbstractMessageSource.resolveCode(java.lang.String, java.util.Locale)
, MessageFormat
SE@Nullable protected MessageFormatSE resolveCode(StringSE code, LocaleSE locale)
AbstractMessageSource
サブクラスで MessageFormats を適切にキャッシュできるように、メッセージ文字列ではなく MessageFormat インスタンスを返します。
サブクラスは、MessageFormat を含まない、引数のないメッセージの最適化された解決を提供することが推奨されます。詳細については、AbstractMessageSource.resolveCodeWithoutArguments(java.lang.String, java.util.Locale)
javadoc を参照してください。
AbstractMessageSource
の resolveCode
code
- 解決するメッセージのコード locale
- コードを解決するロケール (サブクラスは国際化をサポートすることが推奨されます)null
AbstractMessageSource.resolveCodeWithoutArguments(String, java.util.Locale)
public void addMessage(StringSE code, LocaleSE locale, StringSE msg)
code
- ルックアップコード locale
- メッセージが含まれるロケール msg
- この検索コードに関連付けられたメッセージ public void addMessages(MapSE<StringSE,StringSE> messages, LocaleSE locale)
messages
- 登録するメッセージ、メッセージコードをキー、メッセージテキストを値として locale
- メッセージが含まれるロケール public StringSE toString()
ObjectSE
の toStringSE