Class LocaleConvertUtilsBean

java.lang.Object
org.apache.commons.beanutils.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
Version:
$Id$
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    private static class 
    FastHashMap implementation that uses WeakReferences to overcome memory leak problems.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private boolean
    Indicate whether the pattern is localized or not
    private Locale
    The locale - default for convertion.
    private final org.apache.commons.logging.Log
    The Log instance for this class.
    private final org.apache.commons.collections.FastHashMap
    Every entry of the mapConverters is: key = locale value = FastHashMap of converters for the certain locale.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Makes the state by default (deregisters all converters for all locales) and then registers default locale converters.
  • Method Summary

    Modifier and Type
    Method
    Description
    convert(Object value)
    Convert the specified locale-sensitive value into a String.
    convert(Object value, String pattern)
    Convert the specified locale-sensitive value into a String using the conversion pattern.
    convert(Object value, Locale locale, String pattern)
    Convert the specified locale-sensitive value into a String using the paticular convertion pattern.
    convert(String[] values, Class<?> clazz)
    Convert an array of specified values to an array of objects of the specified class (if possible) .
    convert(String[] values, Class<?> clazz, String pattern)
    Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
    convert(String[] values, Class<?> clazz, Locale locale, String pattern)
    Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
    convert(String value, Class<?> clazz)
    Convert the specified value to an object of the specified class (if possible).
    convert(String value, Class<?> clazz, String pattern)
    Convert the specified value to an object of the specified class (if possible) using the convertion pattern.
    convert(String value, Class<?> clazz, Locale locale, String pattern)
    Convert the specified value to an object of the specified class (if possible) using the convertion pattern.
    protected org.apache.commons.collections.FastHashMap
    create(Locale locale)
    Deprecated.
    This method will be modified to return a Map in the next release.
    void
    Remove any registered LocaleConverter.
    void
    deregister(Class<?> clazz, Locale locale)
    Remove any registered LocaleConverter for the specified locale and Class.
    void
    Remove any registered LocaleConverter for the specified locale
    boolean
    getter for applyLocalized
    getter for defaultLocale.
    Gets singleton instance.
    lookup(Class<?> 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.
    protected org.apache.commons.collections.FastHashMap
    lookup(Locale locale)
    Deprecated.
    This method will be modified to return a Map in the next release.
    void
    register(LocaleConverter converter, Class<?> clazz, Locale locale)
    Register a custom LocaleConverter for the specified destination Class, replacing any previously registered converter.
    void
    setApplyLocalized(boolean newApplyLocalized)
    setter for applyLocalized
    void
    setter for defaultLocale.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • defaultLocale

      private Locale defaultLocale
      The locale - default for convertion.
    • applyLocalized

      private boolean applyLocalized
      Indicate whether the pattern is localized or not
    • log

      private final org.apache.commons.logging.Log log
      The Log instance for this class.
    • mapConverters

      private final org.apache.commons.collections.FastHashMap mapConverters
      Every entry of the mapConverters is: key = locale value = FastHashMap of converters for the certain locale.
  • Constructor Details

    • LocaleConvertUtilsBean

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

    • getInstance

      public static LocaleConvertUtilsBean getInstance()
      Gets singleton instance. This is the same as the instance used by the default LocaleBeanUtilsBean singleton.
      Returns:
      the singleton instance
    • getDefaultLocale

      public Locale getDefaultLocale()
      getter for defaultLocale.
      Returns:
      the default locale
    • setDefaultLocale

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

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

      public void setApplyLocalized(boolean newApplyLocalized)
      setter for applyLocalized
      Parameters:
      newApplyLocalized - true if pattern is localized, otherwise false
    • 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, String pattern)
      Convert the specified locale-sensitive value into a String using the conversion pattern.
      Parameters:
      value - The Value to be converted
      pattern - The convertion pattern
      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 paticular convertion pattern.
      Parameters:
      value - The Value to be converted
      locale - The locale
      pattern - The convertion 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, String pattern)
      Convert the specified value to an object of the specified class (if possible) using the convertion 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 convertion pattern
      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 convertion 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 convertion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • convert

      public Object convert(String[] values, Class<?> clazz, String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
      Parameters:
      values - Value to be converted (may be null)
      clazz - Java array or element class to be converted to
      pattern - The convertion 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 Object convert(String[] values, Class<?> clazz, Locale locale, String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
      Parameters:
      values - Value to be converted (may be null)
      clazz - Java array or element class to be converted to
      locale - The locale
      pattern - The convertion pattern
      Returns:
      the converted value
      Throws:
      ConversionException - if thrown by an underlying Converter
    • register

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

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

      public void deregister(Locale locale)
      Remove any registered LocaleConverter for the specified locale
      Parameters:
      locale - The locale
    • 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
    • lookup

      public LocaleConverter lookup(Class<?> 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.
      Parameters:
      clazz - Class for which to return a registered Converter
      locale - The Locale
      Returns:
      The registered locale Converter, if any
    • lookup

      @Deprecated protected org.apache.commons.collections.FastHashMap lookup(Locale locale)
      Deprecated.
      This method will be modified to return a Map in the next release.
      Look up and return any registered FastHashMap instance for the specified locale; if there is no registered one, return null.
      Parameters:
      locale - The Locale
      Returns:
      The FastHashMap instance contains the all LocaleConverter types for the specified locale.
    • create

      @Deprecated protected org.apache.commons.collections.FastHashMap create(Locale locale)
      Deprecated.
      This method will be modified to return a Map in the next release.
      Create all LocaleConverter types for specified locale.
      Parameters:
      locale - The Locale
      Returns:
      The FastHashMap instance contains the all LocaleConverter types for the specified locale.