根据the JvmTypesBuilder documentation,我使用需要使用toAnnotation(EObject sourceElement, Class type, Object value)
我不明白我应该把什么放在那儿?因为我有注解w
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface OResultInfo {
String rowNames() default "";
String columnNames() default "";
String keyNames() default "";
}
我完全不知道如何设置这些值。也许我不了解/不了解Java注释?
最佳答案
您需要使用
val jvmAnnotation = toAnnotation(EObject sourceElement, Class type)
然后为每个值创建并添加注释值,并将其分配给jvmAnnotationReference:
val annotationValue = TypesFactory.eInstance.createJvmStringAnnotationValue();
annotationValue.getValues().add(value);
annotationValue.setOperation(annotationTypesOperation); //i.e. the JvmOperation representing rowNames(), columnNames() or keyNames()
jvmAnnotation.getValues().add(annotationValue);