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