Package org.apache.commons.beanutils2.locale

# 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 Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `convert(Object value)`
  Convert the specified locale-sensitive value into a String.
  `String`
  `convert(Object value, String pattern)`
  Convert the specified locale-sensitive value into a String using the conversion pattern.
  `String`
  `convert(Object value, Locale locale, String pattern)`
  Convert the specified locale-sensitive value into a String using the particular conversion pattern.
  `Object`
  `convert(String[] values, Class<?> clazz)`
  Convert an array of specified values to an array of objects of the specified class (if possible) .
  `<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.
  `<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.
  `Object`
  `convert(String value, Class<?> clazz)`
  Convert the specified value to an object of the specified class (if possible).
  `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.
  `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.
  `protected Map<Class<?>,LocaleConverter<?>>`
  `create(Locale locale)`
  Create all `LocaleConverter` types for specified locale.
  `void`
  `deregister()`
  Remove any registered `LocaleConverter`.
  `void`
  `deregister(Class<?> clazz, Locale locale)`
  Remove any registered `LocaleConverter` for the specified locale and Class.
  `void`
  `deregister(Locale locale)`
  Remove any registered `LocaleConverter` for the specified locale
  `boolean`
  `getApplyLocalized()`
  getter for applyLocalized
  `Locale`
  `getDefaultLocale()`
  getter for defaultLocale.
  `static LocaleConvertUtilsBean`
  `getInstance()`
  Gets singleton instance.
  `<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`.
  `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`.
  `<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.
  `void`
  `setApplyLocalized(boolean newApplyLocalized)`
  setter for applyLocalized
  `void`
  `setDefaultLocale(Locale locale)`
  setter for defaultLocale.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 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

  - ### 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

    public Locale 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