org.apache.tapestry5.internal.services
Class LocalizationSetterImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.services.LocalizationSetterImpl
All Implemented Interfaces:
LocalizationSetter

public class LocalizationSetterImpl
extends Object
implements 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
LocalizationSetterImpl(Request request, PersistentLocale persistentLocale, ThreadLocale threadLocale, String localeNames)
           
 
Method Summary
 List<Locale> getSupportedLocales()
          Returns a list of supported locales, as per the SymbolConstants.SUPPORTED_LOCALES symbol.
 SelectModel getSupportedLocalesModel()
          Returns the supported locales packaged as a model.
 boolean isSupportedLocaleName(String localeName)
          Checks to see if the indicated locale name is a supported locale name (that may have been incorporated into a request path).
 boolean setLocaleFromLocaleName(String localeName)
          Determines if the provided potential locale name (presumably, extracted from a request URL) is a supported locale name.
 void setNonPeristentLocaleFromLocaleName(String localeName)
          Allows the locale to be set from a specified locale name (which may be narrowed or defaulted to a support locale).
 Locale toLocale(String localeName)
          Converts a locale name into a Locale.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LocalizationSetterImpl

public LocalizationSetterImpl(Request request,
                              PersistentLocale persistentLocale,
                              ThreadLocale threadLocale,
                              @Symbol(value="tapestry.supported-locales")
                              String localeNames)
Method Detail

toLocale

public Locale toLocale(String localeName)
Description copied from interface: LocalizationSetter
Converts a locale name into a Locale. The result is cached.

Specified by:
toLocale in interface LocalizationSetter

setLocaleFromLocaleName

public boolean setLocaleFromLocaleName(String localeName)
Description copied from interface: LocalizationSetter
Determines 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 the ThreadLocale (either to the provided locale, if supported, or to the default locale). If the locale name is supported, it will also set the PersistentLocale (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:
setLocaleFromLocaleName in interface LocalizationSetter
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 PersistentLocale was set

setNonPeristentLocaleFromLocaleName

public void setNonPeristentLocaleFromLocaleName(String localeName)
Description copied from interface: LocalizationSetter
Allows 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:
setNonPeristentLocaleFromLocaleName in interface LocalizationSetter
Parameters:
localeName - locale in effect for this request

getSupportedLocales

public List<Locale> getSupportedLocales()
Description copied from interface: LocalizationSetter
Returns a list of supported locales, as per the SymbolConstants.SUPPORTED_LOCALES symbol.

Specified by:
getSupportedLocales in interface LocalizationSetter

isSupportedLocaleName

public boolean isSupportedLocaleName(String localeName)
Description copied from interface: LocalizationSetter
Checks 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:
isSupportedLocaleName in interface LocalizationSetter

getSupportedLocalesModel

public SelectModel getSupportedLocalesModel()
Description copied from interface: LocalizationSetter
Returns the supported locales packaged as a model. The label for each locale comes from Locale.getDisplayName(Locale) (in that locale).

Specified by:
getSupportedLocalesModel in interface LocalizationSetter


Copyright © 2003-2012 The Apache Software Foundation.