Class LocaleConvertUtilsBean


  • public class LocaleConvertUtilsBean
    extends java.lang.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$
    • Constructor Summary

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

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.lang.String convert​(java.lang.Object value)
      Convert the specified locale-sensitive value into a String.
      java.lang.String convert​(java.lang.Object value, java.lang.String pattern)
      Convert the specified locale-sensitive value into a String using the conversion pattern.
      java.lang.String convert​(java.lang.Object value, java.util.Locale locale, java.lang.String pattern)
      Convert the specified locale-sensitive value into a String using the paticular convertion pattern.
      java.lang.Object convert​(java.lang.String[] values, java.lang.Class<?> clazz)
      Convert an array of specified values to an array of objects of the specified class (if possible) .
      java.lang.Object convert​(java.lang.String[] values, java.lang.Class<?> clazz, java.lang.String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
      java.lang.Object convert​(java.lang.String[] values, java.lang.Class<?> clazz, java.util.Locale locale, java.lang.String pattern)
      Convert an array of specified values to an array of objects of the specified class (if possible) using the convertion pattern.
      java.lang.Object convert​(java.lang.String value, java.lang.Class<?> clazz)
      Convert the specified value to an object of the specified class (if possible).
      java.lang.Object convert​(java.lang.String value, java.lang.Class<?> clazz, java.lang.String pattern)
      Convert the specified value to an object of the specified class (if possible) using the convertion pattern.
      java.lang.Object convert​(java.lang.String value, java.lang.Class<?> clazz, java.util.Locale locale, java.lang.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​(java.util.Locale locale)
      Deprecated.
      This method will be modified to return a Map in the next release.
      void deregister()
      Remove any registered LocaleConverter.
      void deregister​(java.lang.Class<?> clazz, java.util.Locale locale)
      Remove any registered LocaleConverter for the specified locale and Class.
      void deregister​(java.util.Locale locale)
      Remove any registered LocaleConverter for the specified locale
      boolean getApplyLocalized()
      getter for applyLocalized
      java.util.Locale getDefaultLocale()
      getter for defaultLocale.
      static LocaleConvertUtilsBean getInstance()
      Gets singleton instance.
      LocaleConverter lookup​(java.lang.Class<?> clazz, java.util.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​(java.util.Locale locale)
      Deprecated.
      This method will be modified to return a Map in the next release.
      void register​(LocaleConverter converter, java.lang.Class<?> clazz, java.util.Locale locale)
      Register a custom LocaleConverter for the specified destination Class, replacing any previously registered converter.
      void setApplyLocalized​(boolean newApplyLocalized)
      setter for applyLocalized
      void setDefaultLocale​(java.util.Locale locale)
      setter for defaultLocale.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LocaleConvertUtilsBean

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

      • 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 java.util.Locale getDefaultLocale()
        getter for defaultLocale.
        Returns:
        the default locale
      • setDefaultLocale

        public void setDefaultLocale​(java.util.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 java.lang.String convert​(java.lang.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 java.lang.String convert​(java.lang.Object value,
                                        java.lang.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 java.lang.String convert​(java.lang.Object value,
                                        java.util.Locale locale,
                                        java.lang.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 java.lang.Object convert​(java.lang.String value,
                                        java.lang.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 java.lang.Object convert​(java.lang.String value,
                                        java.lang.Class<?> clazz,
                                        java.lang.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 java.lang.Object convert​(java.lang.String value,
                                        java.lang.Class<?> clazz,
                                        java.util.Locale locale,
                                        java.lang.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 java.lang.Object convert​(java.lang.String[] values,
                                        java.lang.Class<?> clazz,
                                        java.lang.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 java.lang.Object convert​(java.lang.String[] values,
                                        java.lang.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 java.lang.Object convert​(java.lang.String[] values,
                                        java.lang.Class<?> clazz,
                                        java.util.Locale locale,
                                        java.lang.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,
                             java.lang.Class<?> clazz,
                             java.util.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​(java.util.Locale locale)
        Remove any registered LocaleConverter for the specified locale
        Parameters:
        locale - The locale
      • deregister

        public void deregister​(java.lang.Class<?> clazz,
                               java.util.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​(java.lang.Class<?> clazz,
                                      java.util.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​(java.util.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​(java.util.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.