public abstract class LocaleContextHolder
extends java.lang.Object
inheritable
flag is set to true
.
Used as a central holder for the current Locale in Spring, wherever necessary: for example, in MessageSourceAccessor. DispatcherServlet automatically exposes its current Locale here. Other applications can expose theirs too, to make classes like MessageSourceAccessor automatically use that Locale.
LocaleContext
,
MessageSourceAccessor
,
DispatcherServlet
Modifier and Type | Field and Description |
---|---|
private static java.lang.ThreadLocal<LocaleContext> |
inheritableLocaleContextHolder |
private static java.lang.ThreadLocal<LocaleContext> |
localeContextHolder |
Constructor and Description |
---|
LocaleContextHolder() |
Modifier and Type | Method and Description |
---|---|
static java.util.Locale |
getLocale()
Return the Locale associated with the current thread, if any,
or the system default Locale else.
|
static LocaleContext |
getLocaleContext()
Return the LocaleContext associated with the current thread, if any.
|
static void |
resetLocaleContext()
Reset the LocaleContext for the current thread.
|
static void |
setLocale(java.util.Locale locale)
Associate the given Locale with the current thread.
|
static void |
setLocale(java.util.Locale locale,
boolean inheritable)
Associate the given Locale with the current thread.
|
static void |
setLocaleContext(LocaleContext localeContext)
Associate the given LocaleContext with the current thread,
not exposing it as inheritable for child threads.
|
static void |
setLocaleContext(LocaleContext localeContext,
boolean inheritable)
Associate the given LocaleContext with the current thread.
|
private static final java.lang.ThreadLocal<LocaleContext> localeContextHolder
private static final java.lang.ThreadLocal<LocaleContext> inheritableLocaleContextHolder
public static void resetLocaleContext()
public static void setLocaleContext(LocaleContext localeContext)
localeContext
- the current LocaleContext,
or null
to reset the thread-bound contextpublic static void setLocaleContext(LocaleContext localeContext, boolean inheritable)
localeContext
- the current LocaleContext,
or null
to reset the thread-bound contextinheritable
- whether to expose the LocaleContext as inheritable
for child threads (using an InheritableThreadLocal
)public static LocaleContext getLocaleContext()
null
if nonepublic static void setLocale(java.util.Locale locale)
Will implicitly create a LocaleContext for the given Locale, not exposing it as inheritable for child threads.
locale
- the current Locale, or null
to reset
the thread-bound contextSimpleLocaleContext.SimpleLocaleContext(java.util.Locale)
public static void setLocale(java.util.Locale locale, boolean inheritable)
Will implicitly create a LocaleContext for the given Locale.
locale
- the current Locale, or null
to reset
the thread-bound contextinheritable
- whether to expose the LocaleContext as inheritable
for child threads (using an InheritableThreadLocal
)SimpleLocaleContext.SimpleLocaleContext(java.util.Locale)
public static java.util.Locale getLocale()
LocaleContext.getLocale()
,
Locale.getDefault()