Class LocaleConvertUtilsBean

java.lang.Object
org.apache.commons.beanutils2.locale.LocaleConvertUtilsBean

public class LocaleConvertUtilsBean extends Object

Utility methods for converting locale-sensitive String scalar values to objects of the specified Class, String arrays to arrays of the specified Class and object to locale-sensitive String scalar value.

This class provides the implementations used by the static utility methods in LocaleConvertUtils.

The actual LocaleConverter instance to be used can be registered for each possible destination Class. Unless you override them, standard LocaleConverter instances are provided for all of the following destination Classes:

  • java.lang.BigDecimal
  • java.lang.BigInteger
  • byte and java.lang.Byte
  • double and java.lang.Double
  • float and java.lang.Float
  • int and java.lang.Integer
  • long and java.lang.Long
  • short and java.lang.Short
  • java.lang.String
  • java.sql.Date
  • java.sql.Time
  • java.sql.Timestamp

For backwards compatibility, the standard locale converters for primitive types (and the corresponding wrapper classes). If you prefer to have another LocaleConverter thrown instead, replace the standard LocaleConverter instances with ones created with the one of the appropriate constructors. It's important that LocaleConverter should be registered for the specified locale and Class (or primitive type).

Since:
1.7
  • Constructor Details

    • LocaleConvertUtilsBean

      Makes the state by default (deregisters all converters for all locales) and then registers default locale converters.
  • Method Details

    • getInstance

      Gets singleton instance. This is the same as the instance used by the default LocaleBeanUtilsBean singleton.
      Returns:
      the singleton instance
    • convert

      public String convert(Object value)
      Convert the specified locale-sensitive value into a String.
      Parameters:
      value - The Value to be converted
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public String convert(Object value, Locale locale, String pattern)
      Convert the specified locale-sensitive value into a String using the particular conversion pattern.
      Parameters:
      value - The Value to be converted
      locale - The locale
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public String convert(Object value, String pattern)
      Convert the specified locale-sensitive value into a String using the conversion pattern.
      Parameters:
      value - The Value to be converted
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public Object convert(String value, Class<?> clazz)
      Convert the specified value to an object of the specified class (if possible). Otherwise, return a String representation of the value.
      Parameters:
      value - The String scalar value to be converted
      clazz - The Data type to which this value should be converted.
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public Object convert(String value, Class<?> clazz, Locale locale, String pattern)
      Convert the specified value to an object of the specified class (if possible) using the conversion pattern. Otherwise, return a String representation of the value.
      Parameters:
      value - The String scalar value to be converted
      clazz - The Data type to which this value should be converted.
      locale - The locale
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public Object convert(String value, Class<?> clazz, String pattern)
      Convert the specified value to an object of the specified class (if possible) using the conversion pattern. Otherwise, return a String representation of the value.
      Parameters:
      value - The String scalar value to be converted
      clazz - The Data type to which this value should be converted.
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public Object convert(String[] values, Class<?> clazz)
      Convert an array of specified values to an array of objects of the specified class (if possible) .
      Parameters:
      values - Value to be converted (may be null)
      clazz - Java array or element class to be converted to
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public <T> T[] convert(String[] values, Class<T> clazz, Locale locale, String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the conversion pattern.
      Type Parameters:
      T - The result component type
      Parameters:
      values - Value to be converted (may be null)
      clazz - Java array or element class to be converted to
      locale - The locale
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public <T> T[] convert(String[] values, Class<T> clazz, String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the conversion pattern.
      Type Parameters:
      T - The array component type
      Parameters:
      values - Value to be converted (may be null)
      clazz - Java array or element class to be converted to
      pattern - The conversion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • create

      protected Map<Class<?>,LocaleConverter<?>> create(Locale locale)
      Create all LocaleConverter types for specified locale.
      Parameters:
      locale - The Locale
      Returns:
      The map instance contains the all LocaleConverter types for the specified locale.
    • deregister

      public void deregister()
      Remove any registered LocaleConverter.
    • deregister

      public void deregister(Class<?> clazz, Locale locale)
      Remove any registered LocaleConverter for the specified locale and Class.
      Parameters:
      clazz - Class for which to remove a registered Converter
      locale - The locale
    • deregister

      public void deregister(Locale locale)
      Remove any registered LocaleConverter for the specified locale
      Parameters:
      locale - The locale
    • getApplyLocalized

      public boolean getApplyLocalized()
      getter for applyLocalized
      Returns:
      true if pattern is localized, otherwise false
    • getDefaultLocale

      getter for defaultLocale.
      Returns:
      the default locale
    • lookup

      public <T> LocaleConverter<T> lookup(Class<T> clazz, Locale locale)
      Look up and return any registered LocaleConverter for the specified destination class and locale; if there is no registered Converter, return null.
      Type Parameters:
      T - The converter type.
      Parameters:
      clazz - Class for which to return a registered Converter
      locale - The Locale
      Returns:
      The registered locale Converter, if any
    • lookup

      protected Map<Class<?>,LocaleConverter<?>> lookup(Locale locale)
      Look up and return any registered map instance for the specified locale; if there is no registered one, return null.
      Parameters:
      locale - The Locale
      Returns:
      The map instance contains the all LocaleConverter types for the specified locale.
    • register

      public <T> void register(LocaleConverter<T> converter, Class<T> clazz, Locale locale)
      Register a custom LocaleConverter for the specified destination Class, replacing any previously registered converter.
      Type Parameters:
      T - The converter type.
      Parameters:
      converter - The LocaleConverter to be registered
      clazz - The Destination class for conversions performed by this Converter
      locale - The locale
    • setApplyLocalized

      public void setApplyLocalized(boolean newApplyLocalized)
      setter for applyLocalized
      Parameters:
      newApplyLocalized - true if pattern is localized, otherwise false
    • setDefaultLocale

      public void setDefaultLocale(Locale locale)
      setter for defaultLocale.
      Parameters:
      locale - the default locale