Java クラスの特定の属性のすべてのアクセサーを取得したいと考えています。いくつか試してみましたが、期待する出力が得られません。例:
public class demo {
private String abc;
public String getAbc() {
return abc;
}
public void setAbc(String abc) {
this.abc = abc;
}
public String fetchAbc() {
return abc;
}
}
ここでは、abc
属性に 2 つのゲッターがあり、プロジェクト内で出現箇所を見つけたいと考えています。BeanInfo API を使用する次のコードを試しましたが、1 つのアクセサーしか得られません。
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
public class BeanDemo {
public void myMethod() throws IntrospectionException {
BeanInfo beanInfo = Introspector.getBeanInfo(demo.class);
for (PropertyDescriptor property : beanInfo.getPropertyDescriptors()) {
//all attributes of class.
property.getReadMethod(); // getter
property.getWriteMethod(); // setter
}
}
}
これを達成するために使用できる別の API があるかどうか、誰にもわかりますか? リフレクションで遊ぶことはできますが、それは適切な方法ではありません。ありがとう。