根据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);

07-24 18:29