org.springframework.context.i18n
Class LocaleContextHolder
java.lang.Object
org.springframework.context.i18n.LocaleContextHolder
public abstract class LocaleContextHolder
- extends java.lang.Object
Simple holder class that associates a LocaleContext instance
with the current thread. The LocaleContext will be inherited
by any child threads spawned by the current thread if the
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.
- Since:
- 1.2
- Author:
- Juergen Hoeller
- See Also:
LocaleContext
,
MessageSourceAccessor
,
DispatcherServlet
Method Summary |
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
localeContextHolder
private static final java.lang.ThreadLocal<LocaleContext> localeContextHolder
inheritableLocaleContextHolder
private static final java.lang.ThreadLocal<LocaleContext> inheritableLocaleContextHolder
LocaleContextHolder
public LocaleContextHolder()
resetLocaleContext
public static void resetLocaleContext()
- Reset the LocaleContext for the current thread.
setLocaleContext
public static void setLocaleContext(LocaleContext localeContext)
- Associate the given LocaleContext with the current thread,
not exposing it as inheritable for child threads.
- Parameters:
localeContext
- the current LocaleContext
setLocaleContext
public static void setLocaleContext(LocaleContext localeContext,
boolean inheritable)
- Associate the given LocaleContext with the current thread.
- Parameters:
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
)
getLocaleContext
public static LocaleContext getLocaleContext()
- Return the LocaleContext associated with the current thread, if any.
- Returns:
- the current LocaleContext, or
null
if none
setLocale
public static void setLocale(java.util.Locale locale)
- Associate the given Locale with the current thread.
Will implicitly create a LocaleContext for the given Locale,
not exposing it as inheritable for child threads.
- Parameters:
locale
- the current Locale, or null
to reset
the thread-bound context- See Also:
SimpleLocaleContext.SimpleLocaleContext(java.util.Locale)
setLocale
public static void setLocale(java.util.Locale locale,
boolean inheritable)
- Associate the given Locale with the current thread.
Will implicitly create a LocaleContext for the given Locale.
- Parameters:
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
)- See Also:
SimpleLocaleContext.SimpleLocaleContext(java.util.Locale)
getLocale
public static java.util.Locale getLocale()
- Return the Locale associated with the current thread, if any,
or the system default Locale else.
- Returns:
- the current Locale, or the system default Locale if no
specific Locale has been associated with the current thread
- See Also:
LocaleContext.getLocale()
,
Locale.getDefault()