org.soybeanMilk.core.bean
类 DefaultGenericConverter

java.lang.Object
  继承者 org.soybeanMilk.core.bean.DefaultGenericConverter
所有已实现的接口:
Converter, GenericConverter
直接已知子类:
WebGenericConverter

public class DefaultGenericConverter
extends java.lang.Object
implements GenericConverter

通用转换器的默认实现。
它默认支持的类型转换如下所示:

源类型目标类型
String boolean, Boolean; byte, Byte; char, Character; double, Double; float, Float;
int, Integer; long, Long; short, Short;
java.math.BigDecimal; java.math.BigInteger; java.util.Date; java.sql.Date; java.sql.Time; java.sql.Timestamp
String[] 上述各类型的数组、java.util.List、java.util.Set。
比如“int[]”、“boolean[]”、“Short[]”、List<Integer>、List<Date>、Set<Integer>、Set<Date>

另外,如果目标类型为String,而你没有添加对象到String类型的辅助转换器,那么它将返回此对象的toString()结果。
你也可以通过addConverter(Type, Type, Converter)为它添加更多辅助转换器,使其支持更多的类型转换。

作者:
earthAngry@gmail.com

构造方法摘要
DefaultGenericConverter()
          创建通用转换器,默认的辅助转换器将被添加
DefaultGenericConverter(boolean initDefaultSupportConverter)
          创建通用转换器
 
方法摘要
 void addConverter(java.lang.reflect.Type sourceType, java.lang.reflect.Type targetType, Converter converter)
          添加一个辅助转换器,后添加的转换器应该替换旧的相同功能的转换器
 java.lang.Object convert(java.lang.Object sourceObj, java.lang.reflect.Type targetType)
          将源对象转换为目标类型的对象
 Converter getConverter(java.lang.reflect.Type sourceType, java.lang.reflect.Type targetType)
          取得能够将源类型转换到目标类型的辅助转换器
 java.lang.Object getProperty(java.lang.Object srcObj, java.lang.String propertyExpression, java.lang.reflect.Type expectType)
          取得对象的属性值,属性值将被转换为targetType类型的对象。
 java.util.Collection<Converter> getSupportConverters()
          获取所有辅助转换器
 void setProperty(java.lang.Object srcObj, java.lang.String propertyExpression, java.lang.Object value)
          设置对象的属性值,value将被转换为属性类型的对象。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DefaultGenericConverter

public DefaultGenericConverter()
创建通用转换器,默认的辅助转换器将被添加


DefaultGenericConverter

public DefaultGenericConverter(boolean initDefaultSupportConverter)
创建通用转换器

参数:
initDefaultSupportConverter - 是否添加默认的辅助转换器
方法详细信息

getSupportConverters

public java.util.Collection<Converter> getSupportConverters()
获取所有辅助转换器

返回:

convert

public java.lang.Object convert(java.lang.Object sourceObj,
                                java.lang.reflect.Type targetType)
从接口 Converter 复制的描述
将源对象转换为目标类型的对象

指定者:
接口 Converter 中的 convert
参数:
sourceObj - 源对象
targetType - 目标类型,比如Class、ParameterizedType等,也可能是null
返回:
目标类型的对象

getProperty

public java.lang.Object getProperty(java.lang.Object srcObj,
                                    java.lang.String propertyExpression,
                                    java.lang.reflect.Type expectType)
从接口 GenericConverter 复制的描述
取得对象的属性值,属性值将被转换为targetType类型的对象。

指定者:
接口 GenericConverter 中的 getProperty
参数:
srcObj - 源对象
propertyExpression - 属性表达式,可以多层嵌套,比如“propertyA.propertyB.propertyC”
expectType - 期望返回对象的类型,如果为null,则表示默认
返回:
targetType类型的对象

setProperty

public void setProperty(java.lang.Object srcObj,
                        java.lang.String propertyExpression,
                        java.lang.Object value)
从接口 GenericConverter 复制的描述
设置对象的属性值,value将被转换为属性类型的对象。

指定者:
接口 GenericConverter 中的 setProperty
参数:
srcObj - 源对象
propertyExpression - 属性表达式,可以多层嵌套,比如“propertyA.propertyB.propertyC”
value - 要设置的属性值

addConverter

public void addConverter(java.lang.reflect.Type sourceType,
                         java.lang.reflect.Type targetType,
                         Converter converter)
从接口 GenericConverter 复制的描述
添加一个辅助转换器,后添加的转换器应该替换旧的相同功能的转换器

指定者:
接口 GenericConverter 中的 addConverter
参数:
sourceType - 源类型
targetType - 目标类型
converter - 辅助转换器对象

getConverter

public Converter getConverter(java.lang.reflect.Type sourceType,
                              java.lang.reflect.Type targetType)
从接口 GenericConverter 复制的描述
取得能够将源类型转换到目标类型的辅助转换器

指定者:
接口 GenericConverter 中的 getConverter
参数:
sourceType - 源类型
targetType - 目标类型
返回:
转换器对象