Java: как предотвратить аннотации не верхнего уровня для типа?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java: как предотвратить аннотации не верхнего уровня для типа?

Сообщение Anonymous »

Java: Как предотвратить появление аннотаций не верхнего уровня в типе? например,

Код: Выделить всё

@Target(value={ElementType.TYPE})
@Retention(value=RetentionPolicy.RUNTIME)
public @interface FooList {
public Foo[] value();
}

@Retention(value=RetentionPolicy.RUNTIME)
public @interface Foo {
public String name();
}

@FooList({
@Foo(name="ABC"),
@Foo(name="XyZ")
})
@Foo(name="EFG")   // no compile error here
public class Bar {
}
@Foo должен находиться только внутри @FooList. Но ошибка компиляции отсутствует, когда @Foo аннотируется непосредственно в типе Bar.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ns-on-type
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»