package jp.sf.amateras.mirage.bean;

import java.lang.annotation.Annotation;
import java.lang.reflect.Field;

public interface PropertyDesc {

	public Object getValue(Object obj);

	public void setValue(Object obj, Object value);

	public boolean isReadable();

	public boolean isWritable();

	public Class<?> getPropertyType();

	public String getPropertyName();

	public Field getField();

	public boolean isTransient();

	public <T extends Annotation> T getAnnotation(Class<T> type);

}