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, setInstance
private 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 false
public void setApplyLocalized(boolean newApplyLocalized)
newApplyLocalized
- true
if pattern is localized,
otherwise false
public 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 BeanUtilsBean
bean
- 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 BeanUtilsBean
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 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 BeanUtilsBean
bean
- 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 BeanUtilsBean
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 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 BeanUtilsBean
bean
- 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 BeanUtilsBean
bean
- 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 BeanUtilsBean
bean
- 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 BeanUtilsBean
bean
- 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 exceptionCopyright (c) 2000-2008 - Apache Software Foundation