「Java」PropertyDescriptorクラスのサンプル
PropertyDescriptorは、Java Beanが一対のアクセス用メソッドを使ってエクスポートする単一のプロパティを記述します。
書式
1.PropertyDescriptor(String propertyName, Class<?> beanClass)
アクセス用メソッドgetFooおよびsetFooを使って、標準のJava規約に準拠しているプロパティのPropertyDescriptorを構築します。
2.getDeclaredFields()
このClassオブジェクトが表すクラスまたはインタフェースによって宣言されたすべてのフィールドをリフレクトするFieldオブジェクトの配列を返します。
3.getReadMethod()
プロパティ値の読み込みに使うメソッドを取得します。
使用例
public Map<String, String> reflectObjf(ConfigDO cft) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); Object cft = new Object(); Class<?> cftClass = cft.getClass(); Field[] fields = cftClass.getDeclaredFields(); for (Field field : fields) { PropertyDescriptor pd = new PropertyDescriptor(field.getName(), cftClass); Method getMethod = pd.getReadMethod(); Object o = getMethod.invoke(cft); map.put(field.getName(), o); } }