反射工具类
object ReflectUtil
描述: 接口层(外层)对象和协议层(底层)对象转换 反射类 注意点:接口层对象整形需要给默认值,字段名需要跟协议层字段对应
object ReflectUtil {
private const val TAG = "ReflectUtil"
private const val SUFFIX_FIELD = "_"
/**
* Kotlin枚举构造器对应的方法名
*/
private const val ENUM_METHOD_NAME = "getValue"
/**
* Kotlin枚举类查找指定枚举的方法名
*/
private const val FIND_ENUM_METHOD_NAME = "findEnum"
}
method evaluationToProto
fun <T, D> evaluationToProto(bean: T, builder: D, clazzT: Class<T>, clazzD: Class<D>)
描述: 把接口层对象的属性赋值给协议层对象
输入参数: bean: 接口层对象 builder: 协议层对象 clazzT: class T clazzD: class D
输出参数: 无。
相关参数: 没有任何。
method evaluationFromProto
fun <T, D> evaluationFromProto(bean: T, builder: D, clazzT: Class<T>, clazzD: Class<D>)
描述: 把协议层对象的属性赋值给接口层对象
输入参数: bean: 接口层对象 builder: 协议层对象 clazzT: 类声明字段 clazzD: 类声明字段
输出参数: 无。
相关参数: 没有任何。
method isBasicClass
private fun isBasicClass(clazz: Class<*>): Boolean
描述: 是否为基本数据类型和String或者枚举
输入参数: clazz: 类声明字段
输出参数: 对或错
相关参数: 没有任何。
method jointFieldName
private fun jointFieldName(field: Field, suffix: String = SUFFIX_FIELD): String
描述: 加入带后缀的字段名称
输入参数: field: 字段名称 suffix: 附加到字段的后缀
输出参数: 带后缀的合并值
相关参数: 没有任何。