クラス LocaleContextHolder
inheritable フラグが true に設定されている場合、LocaleContext は現在のスレッドによって生成された子スレッドによって継承されます。必要に応じて、Spring の現在のロケールの主要ホルダーとして使用されます(例: MessageSourceAccessor)。DispatcherServlet は現在のロケールを自動的にここに公開します。他のアプリケーションも公開して、MessageSourceAccessor のようなクラスにそのロケールを自動的に使用させることができます。
- 導入:
- 1.2
- 作成者:
- Juergen Hoeller, Nicholas Williams
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明static LocaleSE現在のスレッドに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。static LocaleSEgetLocale(LocaleContext localeContext) 指定されたユーザーコンテキストに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。static LocaleContext現在のスレッドに関連付けられている LocaleContext があれば、それを返します。static TimeZoneSE現在のスレッドに関連付けられている TimeZone(ある場合)、またはシステムのデフォルトの TimeZone(ある場合)を返します。static TimeZoneSEgetTimeZone(LocaleContext localeContext) 特定のユーザーコンテキストに関連付けられている TimeZone(存在する場合)、またはシステムのデフォルト TimeZone を返します。static void現在のスレッドの LocaleContext をリセットします。static voidsetDefaultLocale(LocaleSE locale) JVM 全体のデフォルトロケールの代わりに、フレームワークレベルで共有デフォルトロケールを設定します。static voidsetDefaultTimeZone(TimeZoneSE timeZone) JVM 全体のデフォルトタイムゾーンの代わりに、フレームワークレベルで共有デフォルトタイムゾーンを設定します。static void指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。static void指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。static voidsetLocaleContext(LocaleContext localeContext) 指定された LocaleContext を現在のスレッドに関連付けます。子スレッドの継承可能としては公開しません。static voidsetLocaleContext(LocaleContext localeContext, boolean inheritable) 指定された LocaleContext を現在のスレッドに関連付けます。static voidsetTimeZone(TimeZoneSE timeZone) 指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。static voidsetTimeZone(TimeZoneSE timeZone, boolean inheritable) 指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。
メソッドの詳細
resetLocaleContext
public static void resetLocaleContext()現在のスレッドの LocaleContext をリセットします。setLocaleContext
指定された LocaleContext を現在のスレッドに関連付けます。子スレッドの継承可能としては公開しません。与えられた LocaleContext は
TimeZoneAwareLocaleContextであり、タイムゾーン情報が関連付けられたロケールを含みます。- パラメーター:
localeContext- スレッドにバインドされたコンテキストをリセットするための現在の LocaleContext またはnull- 関連事項:
setLocaleContext
指定された LocaleContext を現在のスレッドに関連付けます。与えられた LocaleContext は
TimeZoneAwareLocaleContextであり、タイムゾーン情報が関連付けられたロケールを含みます。- パラメーター:
localeContext- スレッドにバインドされたコンテキストをリセットするための現在の LocaleContext またはnullinheritable- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocalSE を使用する)- 関連事項:
getLocaleContext
現在のスレッドに関連付けられている LocaleContext があれば、それを返します。- 戻り値:
- 現在の LocaleContext、または存在しない場合は
null
setLocale
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。指定されたロケールの LocaleContext を暗黙的に作成し、子スレッドの継承可能として公開しません。
- パラメーター:
locale- 現在のロケール、またはスレッドにバインドされたコンテキストのロケール部分をリセットするnull- 関連事項:
setLocale
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。指定されたロケールの LocaleContext を暗黙的に作成します。
- パラメーター:
locale- 現在のロケール、またはスレッドにバインドされたコンテキストのロケール部分をリセットするnullinheritable- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocalSE を使用する)- 関連事項:
setDefaultLocale
JVM 全体のデフォルトロケールの代わりに、フレームワークレベルで共有デフォルトロケールを設定します。注意 : これは、JVM 全体のデフォルトロケールとは異なるアプリケーションレベルのデフォルトロケールを設定できます。ただし、これには、そのような各アプリケーションがローカルにデプロイされた Spring Framework jar に対して動作する必要があります。このようなシナリオでは、サーバーレベルで Spring を共有ライブラリとしてデプロイしないでください。
- パラメーター:
locale- デフォルトのロケール (なしの場合はnull、ルックアップはLocale.getDefault()にフォールバックできます)- 導入:
- 4.3.5
- 関連事項:
getLocale
現在のスレッドに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。これは実質的にLocale.getDefault()の置き換えであり、オプションでユーザーレベルのロケール設定を考慮できます。注: このメソッドには、フレームワークレベルまたは JVM 全体のシステムレベルで、共有のデフォルトロケールへのフォールバックがあります。未加工の LocaleContext コンテンツ(
nullを介して特定のロケールがないことを示している可能性がある)を確認する場合は、getLocaleContext()を使用してLocaleContext.getLocale()を呼び出します。- 戻り値:
- 現在のロケール、または特定のロケールが現在のスレッドに関連付けられていない場合はシステムのデフォルトのロケール
- 関連事項:
getLocale
指定されたユーザーコンテキストに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。これは実質的にLocale.getDefault()の置き換えであり、オプションでユーザーレベルのロケール設定を考慮できます。- パラメーター:
localeContext- チェックするユーザーレベルのロケールコンテキスト- 戻り値:
- 現在のロケール、または特定のロケールが現在のスレッドに関連付けられていない場合はシステムのデフォルトのロケール
- 導入:
- 5.0
- 関連事項:
setTimeZone
指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。指定されたロケールの LocaleContext を暗黙的に作成し、子スレッドの継承可能として公開しません。
- パラメーター:
timeZone- スレッドにバインドされたコンテキストのタイムゾーン部分をリセットするための現在の TimeZone またはnull- 関連事項:
setTimeZone
指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。指定されたロケールの LocaleContext を暗黙的に作成します。
- パラメーター:
timeZone- スレッドにバインドされたコンテキストのタイムゾーン部分をリセットするための現在の TimeZone またはnullinheritable- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocalSE を使用する)- 関連事項:
setDefaultTimeZone
JVM 全体のデフォルトタイムゾーンの代わりに、フレームワークレベルで共有デフォルトタイムゾーンを設定します。注意 : これは、JVM 全体のデフォルトタイムゾーンとは異なるアプリケーションレベルのデフォルトタイムゾーンを設定できます。ただし、これには、そのような各アプリケーションがローカルにデプロイされた Spring Framework jar に対して動作する必要があります。このようなシナリオでは、サーバーレベルで Spring を共有ライブラリとしてデプロイしないでください。
- パラメーター:
timeZone- デフォルトのタイムゾーン (なしの場合はnull、ルックアップはTimeZone.getDefault()にフォールバックできます)- 導入:
- 4.3.5
- 関連事項:
getTimeZone
現在のスレッドに関連付けられている TimeZone(存在する場合)、またはシステムのデフォルトの TimeZone を返します。これは実質的にTimeZone.getDefault()の代替であり、オプションでユーザーレベルの TimeZone 設定を考慮できます。メモ: このメソッドには、フレームワークレベルまたは JVM 全体のシステムレベルのいずれかで、共有のデフォルト TimeZone へのフォールバックがあります。生の LocaleContext コンテンツ(
nullを介して特定のタイムゾーンがないことを示している可能性があります)を確認する場合は、getLocaleContext()を使用し、TimeZoneAwareLocaleContextにダウンキャストした後にTimeZoneAwareLocaleContext.getTimeZone()を呼び出します。- 戻り値:
- 現在の TimeZone、または特定の TimeZone が現在のスレッドに関連付けられていない場合はシステムのデフォルト TimeZone
- 関連事項:
getTimeZone
特定のユーザーコンテキストに関連付けられている TimeZone(存在する場合)、またはシステムのデフォルト TimeZone を返します。これは実質的にTimeZone.getDefault()の代替であり、オプションでユーザーレベルの TimeZone 設定を考慮できます。- パラメーター:
localeContext- チェックするユーザーレベルのロケールコンテキスト- 戻り値:
- 現在の TimeZone、または特定の TimeZone が現在のスレッドに関連付けられていない場合はシステムのデフォルト TimeZone
- 導入:
- 5.0
- 関連事項: