Class LocalizationSetterImpl
java.lang.Object
org.apache.tapestry5.internal.services.LocalizationSetterImpl
- All Implemented Interfaces:
LocalizationSetter
Given a set of supported locales, for a specified desired locale, sets the current thread's locale to a supported
locale that is closest to the desired.
-
Constructor Summary
ConstructorsConstructorDescriptionLocalizationSetterImpl(Request request, PersistentLocale persistentLocale, ThreadLocale threadLocale, String localeNames) -
Method Summary
Modifier and TypeMethodDescriptionReturns a list of supported locales, as per theSymbolConstants.SUPPORTED_LOCALESsymbol.Returns the supported locales packaged as a model.booleanisSupportedLocaleName(String localeName) Checks to see if the indicated locale name is a supported locale name (that may have been incorporated into a request path).booleansetLocaleFromLocaleName(String localeName) Determines if the provided potential locale name (presumably, extracted from a request URL) is a supported locale name.voidsetNonPersistentLocaleFromLocaleName(String localeName) Allows the locale to be set from a specified locale name (which may be narrowed or defaulted to a support locale).voidsetNonPersistentLocaleFromRequest(Request request) Allows the locale to be set from the locale of the client as determined from the request headers (which may be narrowed or defaulted to a supported locale).Converts a locale name into a Locale.
-
Constructor Details
-
LocalizationSetterImpl
public LocalizationSetterImpl(Request request, PersistentLocale persistentLocale, ThreadLocale threadLocale, @Symbol("tapestry.supported-locales") String localeNames)
-
-
Method Details
-
toLocale
Description copied from interface:LocalizationSetterConverts a locale name into a Locale. The result is cached.- Specified by:
toLocalein interfaceLocalizationSetter
-
setLocaleFromLocaleName
Description copied from interface:LocalizationSetterDetermines if the provided potential locale name (presumably, extracted from a request URL) is a supported locale name. A call to this method will always set theThreadLocale(either to the provided locale, if supported, or to the default locale). If the locale name is supported, it will also set thePersistentLocale(which may affect how page and event links are generated, to persist the selected locale across requests). Note that locale names are case sensitive.- Specified by:
setLocaleFromLocaleNamein interfaceLocalizationSetter- Parameters:
localeName- name of locale to check (which may be blank or not a locale name)- Returns:
- true if the locale name is supported and the
PersistentLocalewas set
-
setNonPersistentLocaleFromLocaleName
Description copied from interface:LocalizationSetterAllows the locale to be set from a specified locale name (which may be narrowed or defaulted to a support locale). Does not set the persistent locale.- Specified by:
setNonPersistentLocaleFromLocaleNamein interfaceLocalizationSetter- Parameters:
localeName- locale in effect for this request
-
setNonPersistentLocaleFromRequest
Description copied from interface:LocalizationSetterAllows the locale to be set from the locale of the client as determined from the request headers (which may be narrowed or defaulted to a supported locale). Does not set the persistent locale.- Specified by:
setNonPersistentLocaleFromRequestin interfaceLocalizationSetter- Parameters:
request- incoming request
-
getSupportedLocales
Description copied from interface:LocalizationSetterReturns a list of supported locales, as per theSymbolConstants.SUPPORTED_LOCALESsymbol.- Specified by:
getSupportedLocalesin interfaceLocalizationSetter
-
isSupportedLocaleName
Description copied from interface:LocalizationSetterChecks to see if the indicated locale name is a supported locale name (that may have been incorporated into a request path). This is an important part of decoding a request.- Specified by:
isSupportedLocaleNamein interfaceLocalizationSetter
-
getSupportedLocalesModel
Description copied from interface:LocalizationSetterReturns the supported locales packaged as a model. The label for each locale comes fromLocale.getDisplayName(Locale)(in that locale).- Specified by:
getSupportedLocalesModelin interfaceLocalizationSetter
-