ユーザーが Bean を選択し、そのフィールドを編集し、作成された Bean のインスタンスをキューに追加できる Java を使用して GUI を作成したいと考えています。私の質問は、フィールドへのアクセスに関するものです。MyParentObject から継承するクラス MyCompositeObject があります。MyParentObject は複数の Bean で構成され、それぞれがより多くの Bean で構成されています。クラス MyCompositeObject も Bean で構成されています。MyCompositeObject からアクセス可能なすべてのフィールドを検索したいと考えています。
Class MyParentObject
{
MyObjectOne fieldOne;
MyObjectTwo fieldTwo;
String name;
...
}
Class MyCompositeObject extends MyParentObject
{
MyObjectThree fieldThree;
Integer number;
...
}
Class MyObjectThree
{
boolean aBoolean;
MyObjectFour fieldFour;
...
}
BeanUtils API を使用しようとしましたが、すべてのメンバー Bean のフィールドを取得しようとして行き詰まりました。私が想像しているのは、MyCompositeObject のインスタンスからアクセスできるすべてのフィールドの深さ優先検索です。たとえば、これにはフィールド MyCompositeObject.fieldOne、MyCompositeObject.number、MyCompositeObject.fieldThree.aBoolean が含まれますが、これらに限定されません。
私が試したときに気づきました:
Fields[] allFields = BeanUtils.getFields(myCompositeObject);
私が頭の上にいたこと。私の研究では、これまでのところ、私が説明したことを実行できる事前構築済みの方法は見つかっていません。これを行うことができる API メソッドを教えてください。または、自分で作成する方法を教えてください。ありがとう。