如何使用xtend设置java注释的多个属性(使用xbase)

时间:2013-08-05 15:53:58

标签: java annotations xtext xtend xbase

根据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注释?

1 个答案:

答案 0 :(得分:1)

您需要使用

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