Interface LocaleContextResolver
- All Superinterfaces:
LocaleResolver
- All Known Implementing Classes:
AbstractLocaleContextResolver
,CookieLocaleResolver
,FixedLocaleResolver
,SessionLocaleResolver
LocaleResolver
that adds support for a rich locale context
(potentially including locale and time zone information).
Also provides default
implementations of resolveLocale(jakarta.servlet.http.HttpServletRequest)
and
setLocale(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.util.Locale)
which delegate to resolveLocaleContext(jakarta.servlet.http.HttpServletRequest)
and
setLocaleContext(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, org.springframework.context.i18n.LocaleContext)
, respectively.
- Since:
- 4.0
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault Locale
resolveLocale
(HttpServletRequest request) Default implementation ofLocaleResolver.resolveLocale(HttpServletRequest)
that delegates toresolveLocaleContext(HttpServletRequest)
, falling back toServletRequest.getLocale()
if necessary.resolveLocaleContext
(HttpServletRequest request) Resolve the current locale context via the given request.default void
setLocale
(HttpServletRequest request, HttpServletResponse response, Locale locale) Default implementation ofLocaleResolver.setLocale(HttpServletRequest, HttpServletResponse, Locale)
that delegates tosetLocaleContext(HttpServletRequest, HttpServletResponse, LocaleContext)
, using aSimpleLocaleContext
.void
setLocaleContext
(HttpServletRequest request, HttpServletResponse response, LocaleContext localeContext) Set the current locale context to the given one, potentially including a locale with associated time zone information.
-
Method Details
-
resolveLocaleContext
Resolve the current locale context via the given request.This is primarily intended for framework-level processing; consider using
RequestContextUtils
orRequestContext
for application-level access to the current locale and/or time zone.The returned context may be a
TimeZoneAwareLocaleContext
, containing a locale with associated time zone information. Simply apply aninstanceof
check and downcast accordingly.Custom resolver implementations may also return extra settings in the returned context, which again can be accessed through downcasting.
- Parameters:
request
- the request to resolve the locale context for- Returns:
- the current locale context (never
null
- See Also:
-
setLocaleContext
void setLocaleContext(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable LocaleContext localeContext) Set the current locale context to the given one, potentially including a locale with associated time zone information.- Parameters:
request
- the request to be used for locale modificationresponse
- the response to be used for locale modificationlocaleContext
- the new locale context, ornull
to clear the locale- Throws:
UnsupportedOperationException
- if the LocaleResolver implementation does not support dynamic changing of the locale or time zone- See Also:
-
resolveLocale
Default implementation ofLocaleResolver.resolveLocale(HttpServletRequest)
that delegates toresolveLocaleContext(HttpServletRequest)
, falling back toServletRequest.getLocale()
if necessary.- Specified by:
resolveLocale
in interfaceLocaleResolver
- Parameters:
request
- the request to resolve the locale for- Returns:
- the current locale (never
null
) - Since:
- 6.0
-
setLocale
default void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale) Default implementation ofLocaleResolver.setLocale(HttpServletRequest, HttpServletResponse, Locale)
that delegates tosetLocaleContext(HttpServletRequest, HttpServletResponse, LocaleContext)
, using aSimpleLocaleContext
.- Specified by:
setLocale
in interfaceLocaleResolver
- Parameters:
request
- the request to be used for locale modificationresponse
- the response to be used for locale modificationlocale
- the new locale, ornull
to clear the locale- Throws:
UnsupportedOperationException
- if the LocaleResolver implementation does not support dynamic changing of the locale- Since:
- 6.0
-