Package com.oorian.i18n
Class CompositeLocaleResolver
java.lang.Object
com.oorian.i18n.CompositeLocaleResolver
- All Implemented Interfaces:
LocaleResolver
Chains multiple
LocaleResolver instances, returning the first non-null result.
Resolvers are tried in the order they were added. The first resolver that returns
a non-null locale wins. If all resolvers return null, this resolver also
returns null, allowing LocaleConfiguration to apply its default.
Typical configuration (session override with Accept-Language fallback):
CompositeLocaleResolver resolver = new CompositeLocaleResolver();
resolver.addResolver(new SessionLocaleResolver());
resolver.addResolver(new AcceptLanguageLocaleResolver());
LocaleConfiguration.setLocaleResolver(resolver);
URL-based with session and Accept-Language fallback:
UrlLocaleResolver urlResolver = new UrlLocaleResolver();
urlResolver.addSupportedLocale(Locale.US);
urlResolver.addSupportedLocale(Locale.GERMANY);
CompositeLocaleResolver resolver = new CompositeLocaleResolver();
resolver.addResolver(urlResolver);
resolver.addResolver(new SessionLocaleResolver());
resolver.addResolver(new AcceptLanguageLocaleResolver());
LocaleConfiguration.setLocaleResolver(resolver);
- Since:
- 2.1
- Version:
- 1.0
- Author:
- Marvin P. Warble Jr.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new composite resolver with no resolvers in the chain. -
Method Summary
Modifier and TypeMethodDescriptionaddResolver(LocaleResolver resolver) Adds a resolver to the end of the chain.resolveLocale(OorianHttpRequest request) Tries each resolver in order and returns the first non-null result.
-
Constructor Details
-
CompositeLocaleResolver
public CompositeLocaleResolver()Creates a new composite resolver with no resolvers in the chain.
-
-
Method Details
-
addResolver
Adds a resolver to the end of the chain.Resolvers are tried in the order they are added. Earlier resolvers have higher priority.
- Parameters:
resolver- the resolver to add- Returns:
- this resolver for method chaining
-
resolveLocale
Tries each resolver in order and returns the first non-null result.- Specified by:
resolveLocalein interfaceLocaleResolver- Parameters:
request- the current HTTP request- Returns:
- the first resolved locale, or
nullif no resolver could determine one
-