如果设置了other,如何排除注释元素

时间:2011-10-03 19:21:35

标签: java annotations

如果我有这样的注释:

public @interface MyAnnotaton{

   String className():

   Class clazz();

}

如果设置了元素clazz,我该怎么做才能限制设置元素className?

2 个答案:

答案 0 :(得分:4)

为其中一个元素提供默认值,并在AnnotationProcessor代码中提供检测应处理哪个元素的必要逻辑

public @interface MyAnnotation {
   Class clazz();
   String className() default "<none>";
}

答案 1 :(得分:1)

我愿意说这是不可能的 - 注释不是可执行代码,并且本质上没有任何逻辑。要么选择其中一个,要么选择哪一个优先并相应地记录注释。