2016-12-22 6 views
4

TypeSpecに内部クラス(たとえば、インタフェースListener {})を追加しようとしています。また、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()を呼び出すことができます。

関連する問題