Skip to main content

反射工具类

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: 附加到字段的后缀

输出参数: 带后缀的合并值

相关参数: 没有任何。