クラス LocaleContextHolder
inheritable
フラグが true
に設定されている場合、LocaleContext は現在のスレッドによって生成された子スレッドによって継承されます。必要に応じて、Spring の現在のロケールの主要ホルダーとして使用されます(例: MessageSourceAccessor)。DispatcherServlet は現在のロケールを自動的にここに公開します。他のアプリケーションも公開して、MessageSourceAccessor のようなクラスにそのロケールを自動的に使用させることができます。
- 導入:
- 1.2
- 作成者:
- Juergen Hoeller, Nicholas Williams
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明static LocaleSE
現在のスレッドに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。static LocaleSE
getLocale
(LocaleContext localeContext) 指定されたユーザーコンテキストに関連付けられているロケールがある場合はそれを返し、そうでない場合はシステムのデフォルトのロケールを返します。static LocaleContext
現在のスレッドに関連付けられている LocaleContext があれば、それを返します。static TimeZoneSE
現在のスレッドに関連付けられている TimeZone(ある場合)、またはシステムのデフォルトの TimeZone(ある場合)を返します。static TimeZoneSE
getTimeZone
(LocaleContext localeContext) 特定のユーザーコンテキストに関連付けられている TimeZone(存在する場合)、またはシステムのデフォルト TimeZone を返します。static void
現在のスレッドの LocaleContext をリセットします。static void
setDefaultLocale
(LocaleSE locale) JVM 全体のデフォルトロケールの代わりに、フレームワークレベルで共有デフォルトロケールを設定します。static void
setDefaultTimeZone
(TimeZoneSE timeZone) JVM 全体のデフォルトタイムゾーンの代わりに、フレームワークレベルで共有デフォルトタイムゾーンを設定します。static void
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。static void
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。static void
setLocaleContext
(LocaleContext localeContext) 指定された LocaleContext を現在のスレッドに関連付けます。子スレッドの継承可能としては公開しません。static void
setLocaleContext
(LocaleContext localeContext, boolean inheritable) 指定された LocaleContext を現在のスレッドに関連付けます。static void
setTimeZone
(TimeZoneSE timeZone) 指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。static void
setTimeZone
(TimeZoneSE timeZone, boolean inheritable) 指定された TimeZone を現在のスレッドに関連付け、すでに設定されている可能性のあるロケールを保持します。
メソッドの詳細
resetLocaleContext
public static void resetLocaleContext()現在のスレッドの LocaleContext をリセットします。setLocaleContext
指定された LocaleContext を現在のスレッドに関連付けます。子スレッドの継承可能としては公開しません。与えられた LocaleContext は
TimeZoneAwareLocaleContext
であり、タイムゾーン情報が関連付けられたロケールを含みます。- パラメーター:
localeContext
- スレッドにバインドされたコンテキストをリセットするための現在の LocaleContext またはnull
- 関連事項:
setLocaleContext
指定された LocaleContext を現在のスレッドに関連付けます。与えられた LocaleContext は
TimeZoneAwareLocaleContext
であり、タイムゾーン情報が関連付けられたロケールを含みます。- パラメーター:
localeContext
- スレッドにバインドされたコンテキストをリセットするための現在の LocaleContext またはnull
inheritable
- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocal
SE を使用する)- 関連事項:
getLocaleContext
現在のスレッドに関連付けられている LocaleContext があれば、それを返します。- 戻り値:
- 現在の LocaleContext、または存在しない場合は
null
setLocale
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。指定されたロケールの LocaleContext を暗黙的に作成し、子スレッドの継承可能として公開しません。
- パラメーター:
locale
- 現在のロケール、またはスレッドにバインドされたコンテキストのロケール部分をリセットするnull
- 関連事項:
setLocale
指定されたロケールを現在のスレッドに関連付け、すでに設定されている可能性のある TimeZone を保持します。指定されたロケールの LocaleContext を暗黙的に作成します。
- パラメーター:
locale
- 現在のロケール、またはスレッドにバインドされたコンテキストのロケール部分をリセットするnull
inheritable
- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocal
SE を使用する)- 関連事項:
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 またはnull
inheritable
- LocaleContext を子スレッドの継承可能として公開するかどうか (InheritableThreadLocal
SE を使用する)- 関連事項:
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
- 関連事項: