localebeanutils.java
来自「JAVA 文章管理系统源码」· Java 代码 · 共 534 行 · 第 1/2 页
JAVA
534 行
* <p>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.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#getNestedProperty(Object, String, String)
*/
public static String getNestedProperty(Object bean, String name, String pattern)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().getNestedProperty(bean, name, pattern);
}
/**
* <p>Return the value of the (possibly nested) locale-sensitive property
* of the specified name.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#getNestedProperty(Object, String)
*/
public static String getNestedProperty(Object bean, String name)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().getNestedProperty(bean, name);
}
/**
* <p>Return the value of the specified locale-sensitive property
* of the specified bean.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#getProperty(Object, String, String)
*/
public static String getProperty(Object bean, String name, String pattern)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().getProperty(bean, name, pattern);
}
/**
* <p>Return the value of the specified locale-sensitive property
* of the specified bean.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#getProperty(Object, String)
*/
public static String getProperty(Object bean, String name)
throws IllegalAccessException, InvocationTargetException,
NoSuchMethodException {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().getProperty(bean, name);
}
/**
* <p>Set the specified locale-sensitive property value, performing type
* conversions as required to conform to the type of the destination property
* using the default convertion pattern of the corresponding {@link LocaleConverter}.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#setProperty(Object, String, Object)
*/
public static void setProperty(Object bean, String name, Object value)
throws IllegalAccessException, InvocationTargetException {
LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().setProperty(bean, name, value);
}
/**
* <p>Set the specified locale-sensitive property value, performing type
* conversions as required to conform to the type of the destination
* property using the specified convertion pattern.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#setProperty(Object, String, Object, String)
*/
public static void setProperty(Object bean, String name, Object value, String pattern)
throws IllegalAccessException, InvocationTargetException {
LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().setProperty(bean, name, value, pattern);
}
/**
* <p>Calculate the property type.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#definePropertyType(Object, String, String)
*/
protected static Class definePropertyType(Object target, String name, String propName)
throws IllegalAccessException, InvocationTargetException {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().definePropertyType(target, name, propName);
}
/**
* <p>Convert the specified value to the required type using the
* specified convertion pattern.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#convert(Class, int, Object, String)
*/
protected static Object convert(Class type, int index, Object value, String pattern) {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().convert(type, index, value, pattern);
}
/**
* <p>Convert the specified value to the required type.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#convert(Class, int, Object)
*/
protected static Object convert(Class type, int index, Object value) {
return LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().convert(type, index, value);
}
/**
* <p>Invoke the setter method.</p>
*
* <p>For more details see <code>LocaleBeanUtilsBean</code></p>
*
* @see LocaleBeanUtilsBean#invokeSetter(Object, String, String, int, Object)
*/
protected static void invokeSetter(Object target, String propName, String key, int index, Object newValue)
throws IllegalAccessException, InvocationTargetException {
LocaleBeanUtilsBean.getLocaleBeanUtilsInstance().invokeSetter(target, propName, key, index, newValue);
}
/**
* Resolve any nested expression to get the actual target bean.
*
* @deprecated moved into <code>LocaleBeanUtilsBean</code>
* @param bean The bean
* @param name The property name
*
* @exception IllegalAccessException if the caller does not have
* access to the property accessor method
* @exception InvocationTargetException if the property accessor method
* throws an exception
*/
protected static Descriptor calculate(Object bean, String name)
throws IllegalAccessException, InvocationTargetException {
String propName = null; // Simple name of target property
int index = -1; // Indexed subscript value (if any)
String key = null; // Mapped key value (if any)
Object target = bean;
int delim = name.lastIndexOf(PropertyUtils.NESTED_DELIM);
if (delim >= 0) {
try {
target =
PropertyUtils.getProperty(bean, name.substring(0, delim));
}
catch (NoSuchMethodException e) {
return null; // Skip this property setter
}
name = name.substring(delim + 1);
if (log.isTraceEnabled()) {
log.trace(" Target bean = " + target);
log.trace(" Target name = " + name);
}
}
// Calculate the property name, index, and key values
propName = name;
int i = propName.indexOf(PropertyUtils.INDEXED_DELIM);
if (i >= 0) {
int k = propName.indexOf(PropertyUtils.INDEXED_DELIM2);
try {
index =
Integer.parseInt(propName.substring(i + 1, k));
}
catch (NumberFormatException e) {
;
}
propName = propName.substring(0, i);
}
int j = propName.indexOf(PropertyUtils.MAPPED_DELIM);
if (j >= 0) {
int k = propName.indexOf(PropertyUtils.MAPPED_DELIM2);
try {
key = propName.substring(j + 1, k);
}
catch (IndexOutOfBoundsException e) {
;
}
propName = propName.substring(0, j);
}
return new Descriptor(target, name, propName, key, index);
}
/** @deprecated moved into <code>LocaleBeanUtils</code> */
protected static class Descriptor {
private int index = -1; // Indexed subscript value (if any)
private String name;
private String propName; // Simple name of target property
private String key; // Mapped key value (if any)
private Object target;
public Descriptor(Object target, String name, String propName, String key, int index) {
setTarget(target);
setName(name);
setPropName(propName);
setKey(key);
setIndex(index);
}
public Object getTarget() {
return target;
}
public void setTarget(Object target) {
this.target = target;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPropName() {
return propName;
}
public void setPropName(String propName) {
this.propName = propName;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?