package org.nutz.dao.entity; import java.lang.reflect.Type; import org.nutz.lang.Mirror; public interface EntityField { /** * @return 获取该字段 Java 对象的名称 */ String getName(); /** * @return 获取该字段 Java 对象的类型 */ Type getType(); /** * @return 获取该字段 Java 对象的类型 */ Class<?> getTypeClass(); /** * @return 获取该字段 Java 对象的类型 */ Mirror<?> getTypeMirror(); /** * 为当前实体字段注入值,优先通过 setter 注入 * * @param obj * 被设值对象 * @param value * 值 */ void setValue(Object obj, Object value); /** * 从 Java 对象中获取一个值 * * @param obj * Java 对象 * @return 字段的值 */ Object getValue(Object obj); /** * @return 所属的实体 */ Entity<?> getEntity(); }