Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface AnnotatedElement
getAnnotationsByType(Class)
и getDeclaredAnnotationsByType(Class)
методы поддерживают многократные аннотации того же самого типа на элементе. Если параметром любому методу будет повторимый тип аннотации (JLS 9.6), то метод "просмотрит" контейнерную аннотацию (JLS 9.7), который был сгенерирован во время компиляции, чтобы обернуть многократные аннотации типа параметра.
Термины, непосредственно существующие и существующие, используются всюду по этому интерфейсу, чтобы описать точно, какие аннотации возвращаются методами:
get[Declared]Annotation(Class<T>)
или get[Declared]Annotations()
, атрибут содержит A. get[Declared]AnnotationsByType(Class<T>)
, атрибут или содержит A или, если тип A повторим, содержит точно одну аннотацию, элемент значения которой содержит A и чей тип является содержанием типа аннотации типа А (JLS 9.6).
Если аннотация, возвращенная методом в этом интерфейсе, содержит (прямо или косвенно) a Class
- оцененный элемент, обращающийся к class, который не доступен в этом VM, пытаясь считать class, вызывая соответствующий метод Class-returning на возвращенной аннотации, приведет к a TypeNotPresentException
.
Точно так же попытка считать оцененный перечислению элемент приведет к a EnumConstantNotPresentException
если перечислимая константа в аннотации больше не присутствует в перечислимом типе.
Попытка считать аннотации повторимого типа T аннотации, которые содержатся в аннотации, тип которой не является, фактически, содержанием типа аннотации T, приведет к AnnotationFormatError
.
Наконец, попытка считать элемент, определение которого развилось несовместимо, приведет к a AnnotationTypeMismatchException
или IncompleteAnnotationException
.
EnumConstantNotPresentException
, TypeNotPresentException
, AnnotationFormatError
, AnnotationTypeMismatchException
, IncompleteAnnotationException
Модификатор и Тип | Метод и Описание |
---|---|
<T extends Annotation> |
getAnnotation(Class<T> annotationClass)
Возвраты аннотация этого элемента для указанного типа, если такая аннотация присутствует, еще нуль.
|
Аннотация[] |
getAnnotations()
Аннотации возвратов, которые присутствуют на этом элементе.
|
<T extends Annotation> |
getAnnotationsByType(Class<T> annotationClass)
Аннотации возвратов, которые присутствуют на этом элементе.
|
<T extends Annotation> |
getDeclaredAnnotation(Class<T> annotationClass)
Возвраты аннотация этого элемента для указанного типа, если такая аннотация присутствует, еще нуль.
|
Аннотация[] |
getDeclaredAnnotations()
Аннотации возвратов, которые непосредственно присутствуют на этом элементе.
|
<T extends Annotation> |
getDeclaredAnnotationsByType(Class<T> annotationClass)
Аннотации возвратов, которые непосредственно присутствуют на этом элементе.
|
default boolean |
isAnnotationPresent(Class<? extends Annotation> annotationClass)
Возвращает true, если аннотация для указанного типа присутствует на этом элементе, еще ложь.
|
default boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
Значение истинности, возвращенное этим методом, эквивалентно: getAnnotation(annotationClass) != null
Тело метода значения по умолчанию определяется, чтобы быть кодом выше.
annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данная аннотация class является нулем<T extends Annotation> T getAnnotation(Class<T> annotationClass)
annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данная аннотация class является нулем<T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
getAnnotation(Class)
тот этот метод, обнаруживает, если его параметр является повторимым типом аннотации (JLS 9.6), и если так, пытается найти одну или более аннотаций того типа, "просматривая" контейнерную аннотацию. Вызывающая сторона этого метода свободна изменить возвращенный массив; это не будет иметь никакого эффекта на массивы, возвращенные к другим вызывающим сторонам.annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данная аннотация class является нулемAnnotation[] getAnnotations()
<T extends Annotation> T getDeclaredAnnotation(Class<T> annotationClass)
annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данная аннотация class является нулем<T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotationClass)
getDeclaredAnnotation(Class)
тот этот метод, обнаруживает, если его параметр является повторимым типом аннотации (JLS 9.6), и если так, пытается найти одну или более аннотаций того типа, "просматривая" контейнерную аннотацию. Вызывающая сторона этого метода свободна изменить возвращенный массив; это не будет иметь никакого эффекта на массивы, возвращенные к другим вызывающим сторонам.annotationClass
- соответствие объекта Класса типу аннотацииNullPointerException
- если данная аннотация class является нулемAnnotation[] getDeclaredAnnotations()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92