사용자가 빈을 선택하고 필드를 편집 한 다음 생성 된 빈의 인스턴스를 큐에 추가 할 수있는 Java를 사용하여 GUI를 만들고 싶습니다. 내 질문에 대한 필드에 액세스하는 것입니다. MyParentObject에서 상속받은 MyCompositeObject 클래스가 있습니다. MyParentObject는 여러 개의 빈으로 구성되며, 각각은 더 많은 빈으로 구성됩니다. 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를 사용하려고했지만 모든 구성원 빈의 필드를 가져 오려고 노력 중이다. 내가 상상하는 것은 MyCompositeObject의 인스턴스에서 액세스 할 수있는 모든 필드의 깊이 우선 검색입니다. 예를 들어이 필드는 MyCompositeObject.fieldOne, MyCompositeObject.number, MyCompositeObject.fieldThree.aBoolean 필드를 포함하지만 이에 국한되지는 않습니다. 내가 시도 할 때
나는 깨달았다 : 내 머리에이었다Fields[] allFields = BeanUtils.getFields(myCompositeObject);
. 나의 연구는 지금까지 내가 기술 한 것을 할 수있는 사전 구축 된 방법을 보여주지 못했다. 이 작업을 수행 할 수있는 API 메소드를 알려 주시거나 내 시스템을 구축하는 방법에 대해 알려주십시오. 감사.
감사에게,
나중에 .. 슈퍼 클래스를 포함한 클래스의 모든 분야를 얻을 코드입니다. 이것은 나를 가장 많이 얻는다. 필드의 모든 필드를 가져 오는 재귀에 대해 생각할 필요가 있습니다. –