Search in sources :

Example 1 with ReflectUtil

use of cn.hutool.core.util.ReflectUtil in project hutool by dromara.

the class BeanDesc method init.

// ------------------------------------------------------------------------------------------------------ Private method start
/**
 * 初始化<br>
 * 只有与属性关联的相关Getter和Setter方法才会被读取,无关的getXXX和setXXX都被忽略
 *
 * @return this
 */
private BeanDesc init() {
    final Method[] gettersAndSetters = ReflectUtil.getMethods(this.beanClass, ReflectUtil::isGetterOrSetterIgnoreCase);
    PropDesc prop;
    for (Field field : ReflectUtil.getFields(this.beanClass)) {
        // 排除静态属性和对象子类
        if (false == ModifierUtil.isStatic(field) && false == ReflectUtil.isOuterClassField(field)) {
            prop = createProp(field, gettersAndSetters);
            // 只有不存在时才放入,防止父类属性覆盖子类属性
            this.propMap.putIfAbsent(prop.getFieldName(), prop);
        }
    }
    return this;
}
Also used : ReflectUtil(cn.hutool.core.util.ReflectUtil) Field(java.lang.reflect.Field) Method(java.lang.reflect.Method)

Example 2 with ReflectUtil

use of cn.hutool.core.util.ReflectUtil in project hutool by looly.

the class BeanDesc method init.

// ------------------------------------------------------------------------------------------------------ Private method start
/**
 * 初始化<br>
 * 只有与属性关联的相关Getter和Setter方法才会被读取,无关的getXXX和setXXX都被忽略
 *
 * @return this
 */
private BeanDesc init() {
    final Method[] gettersAndSetters = ReflectUtil.getMethods(this.beanClass, ReflectUtil::isGetterOrSetterIgnoreCase);
    PropDesc prop;
    for (Field field : ReflectUtil.getFields(this.beanClass)) {
        // 排除静态属性和对象子类
        if (false == ModifierUtil.isStatic(field) && false == ReflectUtil.isOuterClassField(field)) {
            prop = createProp(field, gettersAndSetters);
            // 只有不存在时才放入,防止父类属性覆盖子类属性
            this.propMap.putIfAbsent(prop.getFieldName(), prop);
        }
    }
    return this;
}
Also used : ReflectUtil(cn.hutool.core.util.ReflectUtil) Field(java.lang.reflect.Field) Method(java.lang.reflect.Method)

Aggregations

ReflectUtil (cn.hutool.core.util.ReflectUtil)2 Field (java.lang.reflect.Field)2 Method (java.lang.reflect.Method)2