Package org.miaixz.bus.core.beans.desc
Class PropDesc
java.lang.Object
org.miaixz.bus.core.beans.desc.PropDesc
属性描述,包括了字段、getter、setter和相应的方法执行
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetField()获取字段Class<?> 获得字段类型 先获取字段的类型,如果字段不存在,则获取Getter方法的返回类型,否则获取Setter的第一个参数类型获取字段名,如果存在Alias注解,读取注解的值作为名称获得字段类型 先获取字段的类型,如果字段不存在,则获取Getter方法的返回类型,否则获取Setter的第一个参数类型获取Getter方法,可能为null获取字段名称获取Setter方法,可能为null获取属性值 首先调用字段对应的Getter方法获取值,如果Getter方法不存在,则判断字段如果为public,则直接获取字段值 此方法不检查任何注解,使用前需调用isReadable(boolean)检查是否可读获取属性值,自动转换属性值类型 首先调用字段对应的Getter方法获取值,如果Getter方法不存在,则判断字段如果为public,则直接获取字段值booleanisReadable(boolean checkTransient) 检查属性是否可读(即是否可以通过getValue(Object)获取到值)booleanisWritable(boolean checkTransient) 检查属性是否可读(即是否可以通过getValue(Object)获取到值)设置Bean的字段值 首先调用字段对应的Setter方法,如果Setter方法不存在,则判断字段如果为public,则直接赋值字段值 此方法不检查任何注解,使用前需调用isWritable(boolean)检查是否可写设置属性值,可以自动转换字段类型为目标类型设置属性值,可以自动转换字段类型为目标类型toString()
-
Field Details
-
getter
Getter方法 -
setter
Setter方法
-
-
Constructor Details
-
PropDesc
构造 Getter和Setter方法设置为默认可访问- Parameters:
field- 字段getter- get方法setter- set方法
-
PropDesc
构造 Getter和Setter方法设置为默认可访问- Parameters:
fieldName- 字段名getter- get方法setter- set方法
-
-
Method Details
-
getFieldName
获取字段名,如果存在Alias注解,读取注解的值作为名称- Returns:
- 字段名
-
getRawFieldName
获取字段名称- Returns:
- 字段名
-
getField
获取字段- Returns:
- 字段
-
getFieldType
获得字段类型 先获取字段的类型,如果字段不存在,则获取Getter方法的返回类型,否则获取Setter的第一个参数类型- Returns:
- 字段类型
-
getFieldClass
获得字段类型 先获取字段的类型,如果字段不存在,则获取Getter方法的返回类型,否则获取Setter的第一个参数类型- Returns:
- 字段类型
-
getGetter
获取Getter方法,可能为null- Returns:
- Getter方法
-
getSetter
获取Setter方法,可能为null- Returns:
MethodSetter 方法对象
-
isReadable
public boolean isReadable(boolean checkTransient) 检查属性是否可读(即是否可以通过getValue(Object)获取到值)- Parameters:
checkTransient- 是否检查Transient关键字或注解- Returns:
- 是否可读
-
getValue
获取属性值 首先调用字段对应的Getter方法获取值,如果Getter方法不存在,则判断字段如果为public,则直接获取字段值 此方法不检查任何注解,使用前需调用isReadable(boolean)检查是否可读- Parameters:
bean- Bean对象- Returns:
- 字段值
-
getValue
获取属性值,自动转换属性值类型 首先调用字段对应的Getter方法获取值,如果Getter方法不存在,则判断字段如果为public,则直接获取字段值- Parameters:
bean- Bean对象targetType- 返回属性值需要转换的类型,null表示不转换ignoreError- 是否忽略错误,包括转换错误和注入错误- Returns:
- this
-
isWritable
public boolean isWritable(boolean checkTransient) 检查属性是否可读(即是否可以通过getValue(Object)获取到值)- Parameters:
checkTransient- 是否检查Transient关键字或注解- Returns:
- 是否可读
-
setValue
设置Bean的字段值 首先调用字段对应的Setter方法,如果Setter方法不存在,则判断字段如果为public,则直接赋值字段值 此方法不检查任何注解,使用前需调用isWritable(boolean)检查是否可写- Parameters:
bean- Bean对象value- 值,必须与字段值类型匹配- Returns:
- this
-
setValue
设置属性值,可以自动转换字段类型为目标类型- Parameters:
bean- Bean对象value- 属性值,可以为任意类型ignoreNull- 是否忽略null值,true表示忽略ignoreError- 是否忽略错误,包括转换错误和注入错误- Returns:
- this
-
setValue
public PropDesc setValue(Object bean, Object value, boolean ignoreNull, boolean ignoreError, boolean override) 设置属性值,可以自动转换字段类型为目标类型- Parameters:
bean- Bean对象value- 属性值,可以为任意类型ignoreNull- 是否忽略null值,true表示忽略ignoreError- 是否忽略错误,包括转换错误和注入错误override- 是否覆盖目标值,如果不覆盖,会先读取bean的值,null则写,否则忽略。如果覆盖,则不判断直接写- Returns:
- this
-
toString
-