public class ResourceBundleThemeSource extends ObjectSE implements HierarchicalThemeSource, BeanClassLoaderAware
ResourceBundle
SE を検索する ThemeSource
実装。テーマ名は ResourceBundle ベース名として解釈され、すべてのテーマに共通のベース名プレフィックスをサポートします。setBasenamePrefix(java.lang.String)
, ResourceBundle
SE, ResourceBundleMessageSource
コンストラクターと説明 |
---|
ResourceBundleThemeSource() |
修飾子と型 | メソッドと説明 |
---|---|
protected MessageSource | createMessageSource(StringSE basename) 指定されたベース名の MessageSource を作成し、対応するテーマの MessageSource として使用します。 |
ThemeSource | getParentThemeSource() この ThemeSource の親、または存在しない場合は null を返します。 |
Theme | getTheme(StringSE themeName) この実装は、指定されたテーマ名に対応するベース名 (構成された "basenamePrefix" がプレフィックスとして付く) を持つ ResourceBundle ベースの MessageSource を保持する SimpleTheme インスタンスを返します。 |
protected void | initParent(Theme theme) 指定されたテーマの MessageSource を、この ThemeSource の対応する親からのもので初期化します。 |
void | setBasenamePrefix(StringSE basenamePrefix) ResourceBundle ベース名に適用されるプレフィックスを設定します。 |
void | setBeanClassLoader(ClassLoaderSE beanClassLoader) Bean class loader SE を Bean インスタンスに提供するコールバック。 |
void | setDefaultEncoding(StringSE defaultEncoding) リソースバンドルファイルの解析に使用するデフォルトの文字セットを設定します。 |
void | setFallbackToSystemLocale(boolean fallbackToSystemLocale) 特定のロケールのファイルが見つからなかった場合にシステムのロケールにフォールバックするかどうかを設定します。 |
void | setParentThemeSource(ThemeSource parent) このオブジェクトが解決できないテーマメッセージの解決に使用する親を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
public void setParentThemeSource(@Nullable ThemeSource parent)
HierarchicalThemeSource
HierarchicalThemeSource
の setParentThemeSource
parent
- このオブジェクトが解決できないメッセージを解決するために使用される親 ThemeSource null
の場合があり、その場合、それ以上の解決は不可能です。@Nullable public ThemeSource getParentThemeSource()
HierarchicalThemeSource
null
を返します。HierarchicalThemeSource
の getParentThemeSource
public void setBasenamePrefix(@Nullable StringSE basenamePrefix)
ResourceBundle 名は事実上クラスパスの場所であることに注意してください。その結果、JDK の標準 ResourceBundle はドットをパッケージ区切り文字として扱います。これは、"test.theme" は、プログラムによる java.util.ResourceBundle
の使用と同様に、実質的に「テスト / テーマ」と同等であることを意味します。
public void setDefaultEncoding(@Nullable StringSE defaultEncoding)
ResourceBundleMessageSource
のデフォルトは、java.util.ResourceBundle
のデフォルトのエンコーディング: ISO-8859-1 です。
public void setFallbackToSystemLocale(boolean fallbackToSystemLocale)
ResourceBundleMessageSource
のデフォルトは "true" です。
public void setBeanClassLoader(@Nullable ClassLoaderSE beanClassLoader)
BeanClassLoaderAware
class loader
SE を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware
の setBeanClassLoader
beanClassLoader
- 所有クラスローダー @Nullable public Theme getTheme(StringSE themeName)
SimpleTheme インスタンスはテーマ名ごとにキャッシュされます。テーマが元となるファイルへの変更を反映する必要がある場合は、再ロード可能な MessageSource を使用します。
ThemeSource
の getTheme
themeName
- テーマの名前 null
。慣例により、ThemeSource は少なくともデフォルトのテーマ名 "theme" のデフォルトのテーマを返すことができるはずですが、他のテーマ名のデフォルトのテーマを返すこともあります。setBasenamePrefix(java.lang.String)
, createMessageSource(java.lang.String)
protected MessageSource createMessageSource(StringSE basename)
デフォルトの実装では、ResourceBundleMessageSource を作成します。指定されたベース名。たとえば、サブクラスは特別に構成された ReloadableResourceBundleMessageSource を作成できます。
basename
- MessageSource を作成するベース名 ResourceBundleMessageSource
, ReloadableResourceBundleMessageSource
protected void initParent(Theme theme)
theme
- (再)初期化するテーマ