public class LocaleBeanUtilsBean extends BeanUtilsBean
Utility methods for populating JavaBeans properties via reflection in a locale-dependent manner.
| Modifier and Type | Class and Description |
|---|---|
protected class |
LocaleBeanUtilsBean.Descriptor
Deprecated.
Property name expressions are now processed by
the configured
Resolver implementation and this class
is no longer used by BeanUtils. |
| Modifier and Type | Field and Description |
|---|---|
private static ContextClassLoaderLocal<LocaleBeanUtilsBean> |
LOCALE_BEANS_BY_CLASSLOADER
Contains
LocaleBeanUtilsBean instances indexed by context classloader. |
private LocaleConvertUtilsBean |
localeConvertUtils
Convertor used by this class
|
private org.apache.commons.logging.Log |
log
All logging goes through this logger
|
| Constructor and Description |
|---|
LocaleBeanUtilsBean()
Construct instance with standard conversion bean
|
LocaleBeanUtilsBean(LocaleConvertUtilsBean localeConvertUtils)
Construct instance that uses given locale conversion
|
LocaleBeanUtilsBean(LocaleConvertUtilsBean localeConvertUtils,
ConvertUtilsBean convertUtilsBean,
PropertyUtilsBean propertyUtilsBean)
Construct instance that uses given locale conversion
|
| Modifier and Type | Method and Description |
|---|---|
protected LocaleBeanUtilsBean.Descriptor |
calculate(java.lang.Object bean,
java.lang.String name)
Deprecated.
Property name expressions are now processed by
the configured
Resolver implementation and this method
is no longer used by BeanUtils. |
protected java.lang.Object |
convert(java.lang.Class<?> type,
int index,
java.lang.Object value)
Convert the specified value to the required type.
|
protected java.lang.Object |
convert(java.lang.Class<?> type,
int index,
java.lang.Object value,
java.lang.String pattern)
Convert the specified value to the required type using the
specified conversion pattern.
|
protected java.lang.Class<?> |
definePropertyType(java.lang.Object target,
java.lang.String name,
java.lang.String propName)
Calculate the property type.
|
boolean |
getApplyLocalized()
Is the pattern to be applied localized
(Indicate whether the pattern is localized or not)
|
java.util.Locale |
getDefaultLocale()
Gets the default Locale
|
java.lang.String |
getIndexedProperty(java.lang.Object bean,
java.lang.String name)
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. |
java.lang.String |
getIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index)
Return the value of the specified locale-sensetive indexed property
of the specified bean, as a String using the default conversion pattern of
the corresponding
LocaleConverter. |
java.lang.String |
getIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index,
java.lang.String pattern)
Return the value of the specified locale-sensetive indexed property
of the specified bean, as a String using the specified conversion pattern.
|
java.lang.String |
getIndexedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
Return the value of the specified locale-sensitive indexed property
of the specified bean, as a String.
|
static LocaleBeanUtilsBean |
getLocaleBeanUtilsInstance()
Gets singleton instance
|
LocaleConvertUtilsBean |
getLocaleConvertUtils()
Gets the bean instance used for conversions
|
java.lang.String |
getMappedProperty(java.lang.Object bean,
java.lang.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. |
java.lang.String |
getMappedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.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
|
java.lang.String |
getMappedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String key,
java.lang.String pattern)
Return the value of the specified mapped locale-sensitive property
of the specified bean, as a String using the specified conversion pattern.
|
java.lang.String |
getMappedPropertyLocale(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
Return the value of the specified locale-sensitive mapped property
of the specified bean, as a String using the specified pattern.
|
java.lang.String |
getNestedProperty(java.lang.Object bean,
java.lang.String name)
Return the value of the (possibly nested) locale-sensitive property
of the specified name, for the specified bean, as a String using the default
conversion pattern of the corresponding
LocaleConverter. |
java.lang.String |
getNestedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.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.
|
java.lang.String |
getProperty(java.lang.Object bean,
java.lang.String name)
Return the value of the specified locale-sensitive property
of the specified bean, no matter which property reference
format is used, as a String using the default
conversion pattern of the corresponding
LocaleConverter. |
java.lang.String |
getProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
Return the value of the specified locale-sensitive property
of the specified bean, no matter which property reference
format is used, as a String using the specified conversion pattern.
|
java.lang.String |
getSimpleProperty(java.lang.Object bean,
java.lang.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. |
java.lang.String |
getSimpleProperty(java.lang.Object bean,
java.lang.String name,
java.lang.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 void |
invokeSetter(java.lang.Object target,
java.lang.String propName,
java.lang.String key,
int index,
java.lang.Object newValue)
Invoke the setter method.
|
void |
setApplyLocalized(boolean newApplyLocalized)
Sets whether the pattern is applied localized
(Indicate whether the pattern is localized or not)
|
void |
setDefaultLocale(java.util.Locale locale)
Sets the default Locale.
|
static void |
setInstance(LocaleBeanUtilsBean newInstance)
Sets the instance which provides the functionality for
LocaleBeanUtils. |
void |
setProperty(java.lang.Object bean,
java.lang.String name,
java.lang.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. |
void |
setProperty(java.lang.Object bean,
java.lang.String name,
java.lang.Object value,
java.lang.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.
|
cloneBean, convert, copyProperties, copyProperty, describe, getArrayProperty, getConvertUtils, getInstance, getPropertyUtils, initCause, populate, setInstanceprivate static final ContextClassLoaderLocal<LocaleBeanUtilsBean> LOCALE_BEANS_BY_CLASSLOADER
LocaleBeanUtilsBean instances indexed by context classloader.private final org.apache.commons.logging.Log log
private final LocaleConvertUtilsBean localeConvertUtils
public LocaleBeanUtilsBean()
public LocaleBeanUtilsBean(LocaleConvertUtilsBean localeConvertUtils, ConvertUtilsBean convertUtilsBean, PropertyUtilsBean propertyUtilsBean)
localeConvertUtils - use this localeConvertUtils to perform
conversionsconvertUtilsBean - use this for standard conversionspropertyUtilsBean - use this for property conversionspublic LocaleBeanUtilsBean(LocaleConvertUtilsBean localeConvertUtils)
localeConvertUtils - use this localeConvertUtils to perform
conversionspublic static LocaleBeanUtilsBean getLocaleBeanUtilsInstance()
public static void setInstance(LocaleBeanUtilsBean newInstance)
LocaleBeanUtils.
This is a pseudo-singleton - an single instance is provided per (thread) context classloader.
This mechanism provides isolation for web apps deployed in the same container.newInstance - a new singleton instancepublic LocaleConvertUtilsBean getLocaleConvertUtils()
public java.util.Locale getDefaultLocale()
public void setDefaultLocale(java.util.Locale locale)
locale - the default localepublic boolean getApplyLocalized()
true if pattern is localized,
otherwise falsepublic void setApplyLocalized(boolean newApplyLocalized)
newApplyLocalized - true if pattern is localized,
otherwise falsepublic java.lang.String getIndexedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
IllegalArgumentException will be
thrown.bean - Bean whose property is to be extractedname - propertyname[index] of the property value
to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
propety cannot be foundpublic java.lang.String getIndexedProperty(java.lang.Object bean,
java.lang.String name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter. The zero-relative index
of the required value must be included (in square brackets) as a suffix
to the property name, or IllegalArgumentException will be thrown.getIndexedProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - propertyname[index] of the property value
to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
propety cannot be foundpublic java.lang.String getIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
bean - Bean whose property is to be extractedname - Simple property name of the property value to be extractedindex - Index of the property value to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
propety cannot be foundpublic java.lang.String getIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter.
The index is specified as a method parameter and
must *not* be included in the property name expressiongetIndexedProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - Simple property name of the property value to be extractedindex - Index of the property value to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
propety cannot be foundpublic java.lang.String getSimpleProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
bean - Bean whose property is to be extractedname - Name of the property to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getSimpleProperty(java.lang.Object bean,
java.lang.String name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter.getSimpleProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - Name of the property to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getMappedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String key,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
bean - Bean whose property is to be extractedname - Simple property name of the property value to be extractedkey - Lookup key of the property value to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getMappedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String key)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
getMappedProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - Simple property name of the property value to be extractedkey - Lookup key of the property value to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getMappedPropertyLocale(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
IllegalArgumentException will be
thrown.bean - Bean whose property is to be extractedname - propertyname(index) of the property value
to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getMappedProperty(java.lang.Object bean,
java.lang.String name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter.
The String-valued key of the required value
must be included (in parentheses) as a suffix to
the property name, or IllegalArgumentException will be
thrown.getMappedProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - propertyname(index) of the property value
to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getNestedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
bean - Bean whose property is to be extractedname - Possibly nested name of the property to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.IllegalArgumentException - if a nested reference to a
property returns nulljava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getNestedProperty(java.lang.Object bean,
java.lang.String name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter.getNestedProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - Possibly nested name of the property to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.IllegalArgumentException - if a nested reference to a
property returns nulljava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getProperty(java.lang.Object bean,
java.lang.String name,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
bean - Bean whose property is to be extractedname - Possibly indexed and/or nested name of the property
to be extractedpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic java.lang.String getProperty(java.lang.Object bean,
java.lang.String name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException
LocaleConverter.getProperty in class BeanUtilsBeanbean - Bean whose property is to be extractedname - Possibly indexed and/or nested name of the property
to be extractedjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionjava.lang.NoSuchMethodException - if an accessor method for this
property cannot be foundpublic void setProperty(java.lang.Object bean,
java.lang.String name,
java.lang.Object value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
LocaleConverter.setProperty in class BeanUtilsBeanbean - Bean on which setting is to be performedname - Property name (can be nested/indexed/mapped/combo)value - Value to be setjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionpublic void setProperty(java.lang.Object bean,
java.lang.String name,
java.lang.Object value,
java.lang.String pattern)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
bean - Bean on which setting is to be performedname - Property name (can be nested/indexed/mapped/combo)value - Value to be setpattern - The conversion patternjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionprotected java.lang.Class<?> definePropertyType(java.lang.Object target,
java.lang.String name,
java.lang.String propName)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
target - The beanname - The property namepropName - The Simple name of target propertyjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exceptionprotected java.lang.Object convert(java.lang.Class<?> type,
int index,
java.lang.Object value,
java.lang.String pattern)
type - The Java type of target propertyindex - The indexed subscript value (if any)value - The value to be convertedpattern - The conversion patternprotected java.lang.Object convert(java.lang.Class<?> type,
int index,
java.lang.Object value)
type - The Java type of target propertyindex - The indexed subscript value (if any)value - The value to be convertedprotected void invokeSetter(java.lang.Object target,
java.lang.String propName,
java.lang.String key,
int index,
java.lang.Object newValue)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException
target - The beanpropName - The Simple name of target propertykey - The Mapped key value (if any)index - The indexed subscript value (if any)newValue - The value to be setjava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exception@Deprecated protected LocaleBeanUtilsBean.Descriptor calculate(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Resolver implementation and this method
is no longer used by BeanUtils.bean - The beanname - The property namejava.lang.IllegalAccessException - if the caller does not have
access to the property accessor methodjava.lang.reflect.InvocationTargetException - if the property accessor method
throws an exception