Package org.apache.commons.beanutils2.locale

# Class LocaleBeanUtils

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

public final class LocaleBeanUtils extends Object

Utility methods for populating JavaBeans properties via reflection in a locale-dependent manner.

The implementations for these methods are provided by `LocaleBeanUtilsBean`. For more details see `LocaleBeanUtilsBean`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected static Object`
  `convert(Class<?> type, int index, Object value)`
  Converts the specified value to the required type.
  `protected static Object`
  `convert(Class<?> type, int index, Object value, String pattern)`
  Converts the specified value to the required type using the specified conversion pattern.
  `protected static Class<?>`
  `definePropertyType(Object target, String name, String propName)`
  Calculate the property type.
  `static boolean`
  `getApplyLocalized()`
  Gets whether the pattern is localized or not.
  `static Locale`
  `getDefaultLocale()`
  Gets the locale used when no locale is passed.
  `static String`
  `getIndexedProperty(Object bean, String name)`
  Gets the value of the specified locale-sensitive indexed property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.
  `static String`
  `getIndexedProperty(Object bean, String name, int index)`
  Return the value of the specified locale-sensitive indexed property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.
  `static String`
  `getIndexedProperty(Object bean, String name, int index, String pattern)`
  Return the value of the specified locale-sensitive indexed property of the specified bean, as a String using the specified conversion pattern.
  `static String`
  `getIndexedProperty(Object bean, String name, String pattern)`
  Return the value of the specified locale-sensitive indexed property of the specified bean, as a String.
  `static String`
  `getMappedProperty(Object bean, String name)`
  Return the value of the specified locale-sensitive mapped property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.
  `static String`
  `getMappedProperty(Object bean, String name, String key)`
  Return the value of the specified mapped locale-sensitive property of the specified bean, as a String The key is specified as a method parameter and must *not* be included in the property name expression.
  `static String`
  `getMappedProperty(Object bean, String name, String key, String pattern)`
  Return the value of the specified mapped locale-sensitive property of the specified bean, as a String using the specified conversion pattern.
  `static String`
  `getMappedPropertyLocale(Object bean, String name, String pattern)`
  Return the value of the specified locale-sensitive mapped property of the specified bean, as a String using the specified pattern.
  `static String`
  `getNestedProperty(Object bean, String name)`
  Return the value of the (possibly nested) locale-sensitive property of the specified name.
  `static String`
  `getNestedProperty(Object bean, String name, String pattern)`
  Return the value of the (possibly nested) locale-sensitive property of the specified name, for the specified bean, as a String using the specified pattern.
  `static String`
  `getProperty(Object bean, String name)`
  Return the value of the specified locale-sensitive property of the specified bean.
  `static String`
  `getProperty(Object bean, String name, String pattern)`
  Return the value of the specified locale-sensitive property of the specified bean.
  `static String`
  `getSimpleProperty(Object bean, String name)`
  Return the value of the specified simple locale-sensitive property of the specified bean, converted to a String using the default conversion pattern of the corresponding `LocaleConverter`.
  `static String`
  `getSimpleProperty(Object bean, String name, String pattern)`
  Return the value of the specified simple locale-sensitive property of the specified bean, converted to a String using the specified conversion pattern.
  `protected static void`
  `invokeSetter(Object target, String propName, String key, int index, Object newValue)`
  Invoke the setter method.
  `static void`
  `setApplyLocalized(boolean newApplyLocalized)`
  Sets whether the pattern is localized or not.
  `static void`
  `setDefaultLocale(Locale locale)`
  Sets the locale used when no locale is passed.
  `static void`
  `setProperty(Object bean, String name, Object value)`
  Set the specified locale-sensitive property value, performing type conversions as required to conform to the type of the destination property using the default conversion pattern of the corresponding `LocaleConverter`.
  `static void`
  `setProperty(Object bean, String name, Object value, String pattern)`
  Set the specified locale-sensitive property value, performing type conversions as required to conform to the type of the destination property using the specified conversion pattern.

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

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

- ## Method Details

  - ### convert

    protected static Object convert(Class<?> type, int index, Object value)

    Converts the specified value to the required type.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `type` - The Java type of target property
      `index` - The indexed subscript value (if any)
      `value` - The value to be converted
    Returns:
      The converted value
    See Also:
      - `LocaleBeanUtilsBean.convert(Class, int, Object)`

  - ### convert

    protected static Object convert(Class<?> type, int index, Object value, String pattern)

    Converts the specified value to the required type using the specified conversion pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `type` - The Java type of target property
      `index` - The indexed subscript value (if any)
      `value` - The value to be converted
      `pattern` - The conversion pattern
    Returns:
      The converted value
    See Also:
      - `LocaleBeanUtilsBean.convert(Class, int, Object, String)`

  - ### definePropertyType

    protected static Class<?> definePropertyType(Object target, String name, String propName) throws IllegalAccessException, InvocationTargetException

    Calculate the property type.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `target` - The bean
      `name` - The property name
      `propName` - The Simple name of target property
    Returns:
      The property's type
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
    See Also:
      - `LocaleBeanUtilsBean.definePropertyType(Object, String, String)`

  - ### getApplyLocalized

    public static boolean getApplyLocalized()

    Gets whether the pattern is localized or not.

    For more details see `LocaleBeanUtilsBean`

    Returns:
      `true` if pattern is localized, otherwise `false`
    See Also:
      - `LocaleBeanUtilsBean.getApplyLocalized()`

  - ### getDefaultLocale

    public static Locale getDefaultLocale()

    Gets the locale used when no locale is passed.

    For more details see `LocaleBeanUtilsBean`

    Returns:
      the default locale
    See Also:
      - `LocaleBeanUtilsBean.getDefaultLocale()`

  - ### getIndexedProperty

    public static String getIndexedProperty(Object bean, String name) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
    Gets the value of the specified locale-sensitive indexed property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - `propertyname[index]` of the property value to be extracted
    Returns:
      The indexed property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getIndexedProperty(Object, String)`

  - ### getIndexedProperty

    public static String getIndexedProperty(Object bean, String name, int index) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive indexed property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Simple property name of the property value to be extracted
      `index` - Index of the property value to be extracted
    Returns:
      The indexed property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getIndexedProperty(Object, String, int)`

  - ### getIndexedProperty

    public static String getIndexedProperty(Object bean, String name, int index, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive indexed property of the specified bean, as a String using the specified conversion pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Simple property name of the property value to be extracted
      `index` - Index of the property value to be extracted
      `pattern` - The conversion pattern
    Returns:
      The indexed property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getIndexedProperty(Object, String, int, String)`

  - ### getIndexedProperty

    public static String getIndexedProperty(Object bean, String name, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive indexed property of the specified bean, as a String.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - `propertyname[index]` of the property value to be extracted
      `pattern` - The conversion pattern
    Returns:
      The indexed property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getIndexedProperty(Object, String, String)`

  - ### getMappedProperty

    public static String getMappedProperty(Object bean, String name) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive mapped property of the specified bean, as a String using the default conversion pattern of the corresponding `LocaleConverter`.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - `propertyname(index)` of the property value to be extracted
    Returns:
      The mapped property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getMappedProperty(Object, String)`

  - ### getMappedProperty

    public static String getMappedProperty(Object bean, String name, String key) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified mapped locale-sensitive property of the specified bean, as a String The key is specified as a method parameter and must *not* be included in the property name expression.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Simple property name of the property value to be extracted
      `key` - Lookup key of the property value to be extracted
    Returns:
      The mapped property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getMappedProperty(Object, String, String)`

  - ### getMappedProperty

    public static String getMappedProperty(Object bean, String name, String key, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified mapped locale-sensitive property of the specified bean, as a String using the specified conversion pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Simple property name of the property value to be extracted
      `key` - Lookup key of the property value to be extracted
      `pattern` - The conversion pattern
    Returns:
      The mapped property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getMappedProperty(Object, String, String, String)`

  - ### getMappedPropertyLocale

    public static String getMappedPropertyLocale(Object bean, String name, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive mapped property of the specified bean, as a String using the specified pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - `propertyname(index)` of the property value to be extracted
      `pattern` - The conversion pattern
    Returns:
      The mapped property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getMappedPropertyLocale(Object, String, String)`

  - ### getNestedProperty

    public static String getNestedProperty(Object bean, String name) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the (possibly nested) locale-sensitive property of the specified name.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Possibly nested name of the property to be extracted
    Returns:
      The nested property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getNestedProperty(Object, String)`

  - ### getNestedProperty

    public static String getNestedProperty(Object bean, String name, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the (possibly nested) locale-sensitive property of the specified name, for the specified bean, as a String using the specified pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Possibly nested name of the property to be extracted
      `pattern` - The conversion pattern
    Returns:
      The nested property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getNestedProperty(Object, String, String)`

  - ### getProperty

    public static String getProperty(Object bean, String name) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive property of the specified bean.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Possibly indexed and/or nested name of the property to be extracted
    Returns:
      The property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getProperty(Object, String)`

  - ### getProperty

    public static String getProperty(Object bean, String name, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified locale-sensitive property of the specified bean.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Possibly indexed and/or nested name of the property to be extracted
      `pattern` - The conversion pattern
    Returns:
      The nested property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getProperty(Object, String, String)`

  - ### getSimpleProperty

    public static String getSimpleProperty(Object bean, String name) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified simple locale-sensitive property of the specified bean, converted to a String using the default conversion pattern of the corresponding `LocaleConverter`.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Name of the property to be extracted
    Returns:
      The property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getSimpleProperty(Object, String)`

  - ### getSimpleProperty

    public static String getSimpleProperty(Object bean, String name, String pattern) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException

    Return the value of the specified simple locale-sensitive property of the specified bean, converted to a String using the specified conversion pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean whose property is to be extracted
      `name` - Name of the property to be extracted
      `pattern` - The conversion pattern
    Returns:
      The property's value, converted to a String
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
      `NoSuchMethodException` - if an accessor method for this property cannot be found
    See Also:
      - `LocaleBeanUtilsBean.getSimpleProperty(Object, String, String)`

  - ### invokeSetter

    protected static void invokeSetter(Object target, String propName, String key, int index, Object newValue) throws IllegalAccessException, InvocationTargetException

    Invoke the setter method.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `target` - The bean
      `propName` - The Simple name of target property
      `key` - The Mapped key value (if any)
      `index` - The indexed subscript value (if any)
      `newValue` - The value to be set
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
    See Also:
      - `LocaleBeanUtilsBean.invokeSetter(Object, String, String, int, Object)`

  - ### setApplyLocalized

    public static void setApplyLocalized(boolean newApplyLocalized)

    Sets whether the pattern is localized or not.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `newApplyLocalized` - `true` if pattern is localized, otherwise `false`
    See Also:
      - `LocaleBeanUtilsBean.setApplyLocalized(boolean)`

  - ### setDefaultLocale

    public static void setDefaultLocale(Locale locale)

    Sets the locale used when no locale is passed.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `locale` - the default locale
    See Also:
      - `LocaleBeanUtilsBean.setDefaultLocale(Locale)`

  - ### setProperty

    public static void setProperty(Object bean, String name, Object value) throws IllegalAccessException, InvocationTargetException

    Set the specified locale-sensitive property value, performing type conversions as required to conform to the type of the destination property using the default conversion pattern of the corresponding `LocaleConverter`.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean on which setting is to be performed
      `name` - Property name (can be nested/indexed/mapped/combo)
      `value` - Value to be set
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
    See Also:
      - `LocaleBeanUtilsBean.setProperty(Object, String, Object)`

  - ### setProperty

    public static void setProperty(Object bean, String name, Object value, String pattern) throws IllegalAccessException, InvocationTargetException

    Set the specified locale-sensitive property value, performing type conversions as required to conform to the type of the destination property using the specified conversion pattern.

    For more details see `LocaleBeanUtilsBean`

    Parameters:
      `bean` - Bean on which setting is to be performed
      `name` - Property name (can be nested/indexed/mapped/combo)
      `value` - Value to be set
      `pattern` - The conversion pattern
    Throws:
      `IllegalAccessException` - if the caller does not have access to the property accessor method
      `InvocationTargetException` - if the property accessor method throws an exception
    See Also:
      - `LocaleBeanUtilsBean.setProperty(Object, String, Object, String)`