私は自分のプロジェクトに Sun CodeModel コード ジェネレーターを使用しています。この間に、注釈クラスを生成することになりました。このクラスには、デフォルト値として空の配列を取る配列メンバーがあります。次の例を参照してください。
public class Container {
public @interface MyAnnotation {
MyValue[] myValues() default {};
}
}
このコードを使用して注釈を生成しました
JCodeModel codeModel = new JCodeModel();
JDefinedClass myValueClass = codeModel._class(JMod.PUBLIC, "MyValue", ClassType.CLASS);
JDefinedClass containerClass = codeModel._class(JMod.PUBLIC, "Container", ClassType.CLASS);
JDefinedClass annotationClass = containerClass._annotationTypeDeclaration("MyAnnotation");
annotationClass.method(JMod.NONE, myValueClass.array(), "myValues");
しかし、デフォルトの宣言を生成する方法がわかりません。以下のみを生成します。
public class Container {
public @interface MyAnnotation {
MyValue[] myValues();
}
}