Интерфейс AnnotatedElement


Методы getAnnotation () и getAnnotations (), использованные в предыдущем примере, определены интерфейсом AnnotatedElement, который определен в java.lang. reflect. Этот интерфейс поддерживает рефлексию для аннотации и реализован классами Method, Field, Constructor, Class и Package.

В дополнение к getAnnotation () и getAnnotations () интерфейс AnnotatedElement определяет два других метода. Первый из них — getDeclaredAnnotations (), который имеет следующую общую форму:

Annotation[] getDeclaredAnnotations()

Он возвращает не унаследованные аннотации, представленные в вызывающем объекте. Второй — это isAnnotationPresent (), имеющий такую форму:

boolean isAnnotationPresent(Class annoType)

Он возвращает true, если аннотация, специфицированная в аппоТуре, ассоциирована с вызывающим объектом. В противном случае возвращает false.

На заметку! Методы getAnnotation () и isAnnotationPresent () используют новое средство обобщений (generics) для гарантии безопасности типов. Поскольку обобщения не обсуждаются вплоть до главы 14, их сигнатура представлена в настоящей главе в черновой форме.