类 FieldMapper
java.lang.Object
com.midi.his.sdk.mapper.FieldMapper
报文字段(
UPPER_SNAKE)与 DTO 属性(lowerCamel)之间的双向映射。
规则刻意保持简单可逆:EXAM_MCLASS_CODE <-> examMclassCode。命名不符合该规则时,
用 HisField 在属性上标注真实字段名。
每个类的映射表在首次使用时构建并缓存,之后只读,因此本类是线程安全的。
SDK 的 DTO 一律用 String 承载报文中,映射过程不做任何类型转换。
-
方法概要
修饰符和类型方法说明fieldNames(Class<?> type) 报文字段名形式的属性清单,用于校验必填项。static StringUPPER_SNAKE转lowerCamel。把 DTO 转成按声明顺序排列的报文字段表,值为null的属性不输出。static <T> T把一行报文数据装进 DTO。static StringtoUpperSnake(String name)
-
方法详细资料
-
toObject
把一行报文数据装进 DTO。- 类型参数:
T- 目标类型- 参数:
fields- 报文字段表,键为大写下划线字段名type- 目标类型,必须有不带参数的构造器- 返回:
- 填充后的对象;
fields为null或空时返回null - 抛出:
HisProtocolException- 目标类不可实例化,或字段类型不是String
-
toFields
把 DTO 转成按声明顺序排列的报文字段表,值为null的属性不输出。- 参数:
dto- 数据传输对象- 返回:
- 有序字段表
- 抛出:
HisProtocolException- 反射失败
-
fieldNames
报文字段名形式的属性清单,用于校验必填项。- 参数:
type- DTO 类型- 返回:
- 字段名列表,按声明顺序
-
toCamel
UPPER_SNAKE转lowerCamel。- 参数:
name- 报文字段名- 返回:
- 属性名
-
toUpperSnake
- 参数:
name- 属性名- 返回:
- 报文字段名
-