public abstract class AutoObjectMapper<E>
extends cn.weforward.protocol.support.AbstractObjectMapper<E>
| 限定符和类型 | 字段和说明 |
|---|---|
protected static Object[] |
_EMPTY
空数组
|
static int |
INDEX_DEEPIN
索引属性的深度
|
protected Class<E> |
m_Clazz
对应类
|
protected Constructor<E> |
m_Constructor
构造器
|
protected Object[] |
m_Parameters
用于构造对象的参数列表
|
| 限定符 | 构造器和说明 |
|---|---|
protected |
AutoObjectMapper(Class<E> clazz,
Object[] parameters) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected static Object |
boxing(Object sourceObject,
Class<?> sourceType,
Class<?> targetType)
装箱
基于规则为:调用目标对象的valueOf(xxx)静态方法生成目标对象
如
String=>UniteId
则调用
UniteId.valueOf(String)方法
如
Double=>UniteId
则调用
UniteId.valueOf(Double)方法
|
protected Object |
fromBase(Class<?> clazz,
List<Class<?>> components,
cn.weforward.protocol.datatype.DtBase params) |
static <E> Constructor<E> |
getConstructor(Class<E> clazz,
Object[] parameters) |
Enumeration<String> |
getIndexAttributeNames()
获取索引名属性名称
|
abstract Enumeration<String> |
getIndexAttributeNames(int maxdeepin)
获取索引名属性名称
|
String |
getName() |
protected Object |
newObject() |
protected abstract cn.weforward.protocol.ext.ObjectMapper<Object> |
openMapper(Class<?> clazz) |
protected cn.weforward.protocol.datatype.DtBase |
toBase(Object val) |
protected static Object |
unboxing(Object sourceObject,
Class<?> sourceType,
Class<?> targetType)
拆箱
基于规则为:调用源对象的XXXValue方法转换成目标对象
如
UniteId=>String
则调用
UniteId.stringValue()方法
如
UniteId=>Double
则调用
UniteId.doubleValue()方法
|
fromDtArray, fromDtBase, fromDtList, getMappers, getObjectMapper, getObjectMapper, setMappers, toDtBase, toDtListpublic static final int INDEX_DEEPIN
protected static Object[] _EMPTY
protected Object[] m_Parameters
protected Constructor<E> m_Constructor
public String getName()
public Enumeration<String> getIndexAttributeNames()
public abstract Enumeration<String> getIndexAttributeNames(int maxdeepin)
maxdeepin - 属性的最大深度(层级)public static <E> Constructor<E> getConstructor(Class<E> clazz, Object[] parameters)
protected Object newObject()
protected cn.weforward.protocol.datatype.DtBase toBase(Object val)
protected Object fromBase(Class<?> clazz, List<Class<?>> components, cn.weforward.protocol.datatype.DtBase params)
protected static Object boxing(Object sourceObject, Class<?> sourceType, Class<?> targetType)
基于规则为:调用目标对象的valueOf(xxx)静态方法生成目标对象
如
String=>UniteId
则调用
UniteId.valueOf(String)方法
如
Double=>UniteId
则调用
UniteId.valueOf(Double)方法
sourceObject - 转换前源对象sourceType - 转换前源类targetType - 转换后的对象protected static Object unboxing(Object sourceObject, Class<?> sourceType, Class<?> targetType)
基于规则为:调用源对象的XXXValue方法转换成目标对象 如 UniteId=>String 则调用 UniteId.stringValue()方法 如 UniteId=>Double 则调用 UniteId.doubleValue()方法
sourceObject - 转换前源对象sourceType - 转换前源类targetType - 转换后的对象Copyright © 2021. All rights reserved.