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();
}