0
我们正在使用JDT生成Java源代码。我们被困在生成类本身的注释类如下:如何使用JDT为类级别注释生成多个值
@SomeAnnotation({Class1.class, Class2.class})
请让我知道这是如何实现的。我正在使用NormalAnnotation类,但无法相应地设置表达式。虽然可以设置字符串文字,但Class不可以。
我们正在使用JDT生成Java源代码。我们被困在生成类本身的注释类如下:如何使用JDT为类级别注释生成多个值
@SomeAnnotation({Class1.class, Class2.class})
请让我知道这是如何实现的。我正在使用NormalAnnotation类,但无法相应地设置表达式。虽然可以设置字符串文字,但Class不可以。
我能做到这一点使用NormalAnnotation类,这里是代码:
//值包含的类名称。
NormalAnnotation normalAnnotation = ast.newNormalAnnotation();
Name name = ast.newName(annotationName);
normalAnnotation.setTypeName(name);
ArrayInitializer arrayInit = ast.newArrayInitializer();
for(String value : values){
TypeLiteral tL = ast.newTypeLiteral();
tL.setType(ast.newSimpleType(ast.newName(value)));
arrayInit.expressions().add(tL);
}
MemberValuePair memberValuePair = ast.newMemberValuePair();
memberValuePair.setName(ast.newSimpleName("value"));
memberValuePair.setValue(arrayInit);
normalAnnotation.values().add(memberValuePair);