## org.springframework.context.i18n
Class LocaleContextHolder

    java.lang.Object
      org.springframework.context.i18n.LocaleContextHolder

    public abstract class LocaleContextHolder

extends 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`

Constructor Summary
`LocaleContextHolder()`

Method Summary
`static 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(Locale locale)` Associate the given Locale with the current thread.
`static void` `setLocale(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`

Constructor Detail

### LocaleContextHolder

    public LocaleContextHolder()

Method Detail

### 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 context
    `inheritable` - 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(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(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 context
    `inheritable` - whether to expose the LocaleContext as inheritable for child threads (using an `InheritableThreadLocal`)
  See Also:
    `SimpleLocaleContext.SimpleLocaleContext(java.util.Locale)`

### getLocale

    public static 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()`