public abstract class AbstractResourceBasedMessageSource extends AbstractMessageSource
ResourceBundleMessageSource
や ReloadableResourceBundleMessageSource
などのリソースバンドル規則に基づく MessageSource
実装の抽象基本クラス。一般的な構成方法と対応するセマンティック定義を提供します。ResourceBundleMessageSource
, ReloadableResourceBundleMessageSource
logger
コンストラクターと説明 |
---|
AbstractResourceBasedMessageSource() |
修飾子と型 | メソッドと説明 |
---|---|
void | addBasenames(StringSE... basenames) 指定されたベース名を既存のベース名構成に追加します。 |
SetSE<StringSE> | getBasenameSet() 登録順にエントリを含む、この MessageSource のベース名セットを返します。 |
protected long | getCacheMillis() ロードされたプロパティファイルをキャッシュするミリ秒数を返します。 |
protected StringSE | getDefaultEncoding() プロパティファイルの解析に使用するデフォルトの文字セットを返します(ある場合)。 |
protected LocaleSE | getDefaultLocale() フォールバックするデフォルトのロケールを決定します。ローカルで指定されたデフォルトのロケールまたはシステムのロケール、またはフォールバックロケールがない場合は null のいずれかです。 |
protected boolean | isFallbackToSystemLocale() 使用すべきではありません。 5.2.2 現在、 getDefaultLocale() を推奨 |
void | setBasename(StringSE basename) ファイル拡張子または言語コードを指定しないという基本的な ResourceBundle 規則に従って、単一のベース名を設定します。 |
void | setBasenames(StringSE... basenames) ファイル名または言語コードを指定しないという基本的な ResourceBundle 規則に従って、ベース名の配列を設定します。 |
void | setCacheMillis(long cacheMillis) ロードされたプロパティファイルをキャッシュするミリ秒数を設定します。 |
void | setCacheSeconds(int cacheSeconds) ロードされたプロパティファイルをキャッシュする秒数を設定します。 |
void | setDefaultEncoding(StringSE defaultEncoding) プロパティファイルの解析に使用するデフォルトの文字セットを設定します。 |
void | setDefaultLocale(LocaleSE defaultLocale) システムのロケールにフォールバックする代わりに、フォールバックするデフォルトのロケールを指定します。 |
void | setFallbackToSystemLocale(boolean fallbackToSystemLocale) 特定のロケールのファイルが見つからなかった場合にシステムのロケールにフォールバックするかどうかを設定します。 |
getCommonMessages, getDefaultMessage, getDefaultMessage, getMessage, getMessage, getMessage, getMessageFromParent, getMessageInternal, getParentMessageSource, isUseCodeAsDefaultMessage, resolveArguments, resolveCode, resolveCodeWithoutArguments, setCommonMessages, setParentMessageSource, setUseCodeAsDefaultMessage
createMessageFormat, formatMessage, isAlwaysUseMessageFormat, renderDefaultMessage, setAlwaysUseMessageFormat
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setBasename(StringSE basename)
MessageSource
実装までです。通常のプロパティファイルと XMl プロパティファイルがサポートされています。"messages" は、"messages.properties"、"messages_en.properties" などの配置と、"messages.xml"、"messages_en.xml" などを検索します。
basename
- 単一のベースネーム setBasenames(java.lang.String...)
, ResourceEditor
, ResourceBundle
SEpublic void setBasenames(StringSE... basenames)
MessageSource
実装までです。通常のプロパティファイルと XMl プロパティファイルがサポートされています。"messages" は、"messages.properties"、"messages_en.properties" などの配置と、"messages.xml"、"messages_en.xml" などを検索します。
関連するリソースバンドルは、メッセージコードを解決するときに順次チェックされます。順次ルックアップのため、 前のリソースバンドルのメッセージ定義は、後のバンドルのメッセージ定義をオーバーライドすることに注意してください。
メモ: addBasenames(java.lang.String...)
とは対照的に、これは既存のエントリを指定された名前に置き換えます。構成をリセットするためにも使用できます。
basenames
- ベース名の配列 setBasename(java.lang.String)
, ResourceBundle
SEpublic void addBasenames(StringSE... basenames)
メモ: 指定されたベース名がすでに存在する場合、そのエントリの位置は元のセットのままです。リストの最後に新しいエントリが追加され、既存のベース名の後に検索されます。
setBasenames(java.lang.String...)
, ResourceBundle
SEpublic SetSE<StringSE> getBasenameSet()
MessageSource
のベース名セットを返します。コードを呼び出すと、このセットをイントロスペクトしたり、エントリを追加または削除したりできます。
addBasenames(java.lang.String...)
public void setDefaultEncoding(@Nullable StringSE defaultEncoding)
有効なデフォルトは、java.util.Properties
のデフォルトのエンコーディング: ISO-8859-1 です。null
値は、プラットフォームのデフォルトのエンコーディングを示します。
クラシックプロパティファイルにのみ適用され、XML ファイルには適用されません。
defaultEncoding
- デフォルトの文字セット @Nullable protected StringSE getDefaultEncoding()
public void setFallbackToSystemLocale(boolean fallbackToSystemLocale)
システムロケールにフォールバックするのが java.util.ResourceBundle
のデフォルトの動作です。ただし、システムロケールがアプリケーションにまったく関係ないアプリケーションサーバー環境では、これは望ましくないことがよくあります。このようなシナリオでは、このフラグを "false" に設定してください。
@DeprecatedSE protected boolean isFallbackToSystemLocale()
getDefaultLocale()
に置き換えられました。public void setDefaultLocale(@Nullable LocaleSE defaultLocale)
デフォルトでは、システムのロケールにフォールバックします。ここでローカルに指定されたデフォルトのロケールでこれをオーバーライドするか、"fallbackToSystemLocale"
を無効にすることでフォールバックロケールを強制しないことができます。
setFallbackToSystemLocale(boolean)
, getDefaultLocale()
@Nullable protected LocaleSE getDefaultLocale()
null
のいずれかです。public void setCacheSeconds(int cacheSeconds)
java.util.ResourceBundle
のデフォルトの動作と一致します)。この定数は ResourceBundle.Control.getTimeToLive(java.lang.String, java.util.Locale)
SE ではなく Spring の規則に従っていることに注意してください。ClassLoader によっては、ClassLoader がキャッシュされたバージョンのバンドルファイルを保持する可能性があるため、有効期限が確実に機能しない場合があります。このようなシナリオでは、クラスパス以外の場所と組み合わせて、ResourceBundleMessageSource
より ReloadableResourceBundleMessageSource
を優先します。
public void setCacheMillis(long cacheMillis)
setCacheSeconds(int)
。java.util.ResourceBundle
のデフォルトの動作と一致します)。この定数は ResourceBundle.Control.getTimeToLive(java.lang.String, java.util.Locale)
SE ではなく Spring の規則に従っていることに注意してください。setCacheSeconds(int)
protected long getCacheMillis()