リフレクションを容易に実現できるSeasarのクラス
org.seasar.framework.beans.BeanDesc:Bean(JavaBeans)を扱うためのインターフェース
org.seasar.framework.beans.PropertyDescプロパティを扱うためのインターフェース
使い方は、テストクラス(↓の方参照)を参考にするのが手っ取り早い。
使い方の例
import java.lang.reflect.Field; import org.seasar.extension.unit.S2TestCase; import org.seasar.framework.beans.BeanDesc; import org.seasar.framework.beans.impl.BeanDescImpl; import org.seasar.framework.util.ClassUtil; import hoge.form.PracticeForm; public class TestA extends S2TestCase{ public void test1(){ BeanDesc beanDesc = new BeanDescImpl(PracticeForm.class); int fieldSize = beanDesc.getFieldSize(); for (int i= 0 ; i < fieldSize; i++){ Field field0 = beanDesc.getField(i); String name = field0.getName(); System.out.println("name="+name); } } public void test2(){ String className ="hoge.form.PracticeForm"; Object obj = ClassUtil.newInstance(className); BeanDesc beanDesc = new BeanDescImpl(obj.getClass()); int fieldSize = beanDesc.getFieldSize(); for (int i= 0 ; i < fieldSize; i++){ Field field0 = beanDesc.getField(i); String name = field0.getName(); System.out.println("name="+name); } } }
- テストクラス
BeanDescImplTest
PropertyDescImplTest
AbstPropertyAssemblerTest
BindingTypeMayDefTest
BindingTypeNoneDefTest
ConstantAnnotationHandlerTest
AbstBeanResultSetHandlerTest
ParameterTest
PropertyDescImplTigerTest
PropertyDescImplTest
TigerAnnotationHandlerTest
BindingTypeShouldDefTest
- PropertyDescを使用しているクラス(一部抜粋)
TigerAnnotationReader
AbstractBeanResultSetHandler
MetaAnnotationAspectDefBuilder
AbstractPropertyDefBuilder
PropertyDefBuilder
- BeanDescを使用していいるクラス(一部抜粋)
BeanConverter
PropertyDefBuilder
AbstractCopy
BindingUtil
AnnotationUtil
ConstantAnnotationHandler
BeanReader
EmbeddedValueNode