2016-12-22 4 views
4

내부 클래스 (예 : 인터페이스 Listener {})를 TypeSpec에 추가하려고합니다. 또한 TypeSpec에 Listener 유형의 필드를 추가하려고합니다. 나는 어떻게 그런 것을 얻을 수 있습니까?JavaPoet - 내부 클래스 유형의 필드

TypeSpec outerClass = ...; 
TypeSpec innerClass = ...; 
outerClass.addType(innerClass); 
outerClass.addField(...); // How can i add a field of type innerClass? 

답변

2

형식의 정규화 된 이름을 계산해야합니다. 즉,이 같이 있습니다 :

ClassName outerName = ClassName.get("com.example.project", "Outer"); 
ClassName innerName = outerName.nestedClass("Inner"); 

는 그런 다음 innerName을 통과 outerClass.addField()를 호출 할 수 있습니다.