Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.servlet.i18n
Class CookieLocaleResolver

    java.lang.Object
      org.springframework.web.util.CookieGenerator
          org.springframework.web.servlet.i18n.CookieLocaleResolver

All Implemented Interfaces:
  LocaleResolver

    public class CookieLocaleResolver

extends CookieGenerator
implements LocaleResolver

`LocaleResolver` implementation that uses a cookie sent back to the user in case of a custom setting, with a fallback to the specified default locale or the request's accept-header locale.

This is particularly useful for stateless applications without user sessions.

Custom controllers can thus override the user's locale by calling `setLocale(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.Locale)`, for example responding to a certain locale change request.

Since:
  27.02.2003
Author:
  Juergen Hoeller, Jean-Pierre Pawlak
See Also:
  `setDefaultLocale(java.util.Locale)`, `setLocale(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.util.Locale)`

Field Summary
`static java.lang.String` | `DEFAULT_COOKIE_NAME` The default cookie name used if none is explicitly set.
`static java.lang.String` | `LOCALE_REQUEST_ATTRIBUTE_NAME` The name of the request attribute that holds the locale.

Fields inherited from class org.springframework.web.util.CookieGenerator
`DEFAULT_COOKIE_MAX_AGE, DEFAULT_COOKIE_PATH, logger`

Constructor Summary
`CookieLocaleResolver()` Creates a new instance of the `CookieLocaleResolver` class using the `default cookie name`.

Method Summary
`protected java.util.Locale` | `determineDefaultLocale(javax.servlet.http.HttpServletRequest request)` Determine the default locale for the given request, Called if no locale cookie has been found.
`protected java.util.Locale` | `getDefaultLocale()` Return the fixed Locale that this resolver will return if no cookie found, if any.
`java.util.Locale` | `resolveLocale(javax.servlet.http.HttpServletRequest request)` Resolve the current locale via the given request.
`void` | `setDefaultLocale(java.util.Locale defaultLocale)` Set a fixed Locale that this resolver will return if no cookie found.
`void` | `setLocale(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.util.Locale locale)` Set the current locale to the given one.

Methods inherited from class org.springframework.web.util.CookieGenerator
`addCookie, createCookie, getCookieDomain, getCookieMaxAge, getCookieName, getCookiePath, isCookieSecure, removeCookie, setCookieDomain, setCookieMaxAge, setCookieName, setCookiePath, setCookieSecure`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### LOCALE_REQUEST_ATTRIBUTE_NAME

    public static final java.lang.String LOCALE_REQUEST_ATTRIBUTE_NAME

  The name of the request attribute that holds the locale.

  Only used for overriding a cookie value if the locale has been changed in the course of the current request! Use `RequestContext.getLocale()` to retrieve the current locale in controllers or views.

  See Also:
    `RequestContext.getLocale()`

### DEFAULT_COOKIE_NAME

    public static final java.lang.String DEFAULT_COOKIE_NAME

  The default cookie name used if none is explicitly set.

Constructor Detail

### CookieLocaleResolver

    public CookieLocaleResolver()

  Creates a new instance of the `CookieLocaleResolver` class using the `default cookie name`.

Method Detail

### setDefaultLocale

    public void setDefaultLocale(java.util.Locale defaultLocale)

  Set a fixed Locale that this resolver will return if no cookie found.

### getDefaultLocale

    protected java.util.Locale getDefaultLocale()

  Return the fixed Locale that this resolver will return if no cookie found, if any.

### resolveLocale

    public java.util.Locale resolveLocale(javax.servlet.http.HttpServletRequest request)

  Description copied from interface: `LocaleResolver`
  Resolve the current locale via the given request. Should return a default locale as fallback in any case.

  Specified by:
    `resolveLocale` in interface `LocaleResolver`
  Parameters:
    `request` - the request to resolve the locale for
  Returns:
    the current locale (never `null`)

### setLocale

    public void setLocale(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response,
                          java.util.Locale locale)

  Description copied from interface: `LocaleResolver`
  Set the current locale to the given one.

  Specified by:
    `setLocale` in interface `LocaleResolver`
  Parameters:
    `request` - the request to be used for locale modification
    `response` - the response to be used for locale modification
    `locale` - the new locale, or `null` to clear the locale

### determineDefaultLocale

    protected java.util.Locale determineDefaultLocale(javax.servlet.http.HttpServletRequest request)

  Determine the default locale for the given request, Called if no locale cookie has been found.

  The default implementation returns the specified default locale, if any, else falls back to the request's accept-header locale.

  Parameters:
    `request` - the request to resolve the locale for
  Returns:
    the default locale (never `null`)
  See Also:
    `setDefaultLocale(java.util.Locale)`, `ServletRequest.getLocale()`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD