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