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