Spec-Zone.ru › OpenJDK 21

Интерфейс RoundEnvironment

public interface RoundEnvironment
Фреймворк для инструментов обработки аннотаций предоставит обработчику аннотаций объект, реализующий этот интерфейс, чтобы обработчик мог запросить информацию о раунде обработки аннотаций.
Since:
1.6

Краткое описание методов

Модификатор и тип Метод Описание
boolean errorRaised()
Возвращает true если в предыдущем раунде обработки произошла ошибка; в противном случае возвращает false.
Set<? extends Element> getElementsAnnotatedWith(Class<? extends Annotation> a)
Возвращает элементы, помеченные заданным интерфейсом аннотации.
Set<? extends Element> getElementsAnnotatedWith(TypeElement a)
Возвращает элементы, помеченные заданным интерфейсом аннотации.
default Set<? extends Element> getElementsAnnotatedWithAny(Set<Class<? extends Annotation>> annotations)
Возвращает элементы, помеченные одним или несколькими заданными интерфейсами аннотаций.
default Set<? extends Element> getElementsAnnotatedWithAny(TypeElement... annotations)
Возвращает элементы, помеченные одним или несколькими заданными интерфейсами аннотаций.
Set<? extends Element> getRootElements()
Возвращает корневые элементы для обработки аннотаций, сгенерированные предыдущим раундом.
boolean processingOver()
Возвращает true если типы, сгенерированные в этом раунде, не будут подвергнуты последующему раунду обработки аннотаций; в противном случае возвращает false.

Подробное описание методов

processingOver

boolean processingOver()
Возвращает true , если типы, сгенерированные в этом раунде, не будут подвергнуты последующей обработке аннотаций; в противном случае возвращает false.
Возвращает:
true , если типы, сгенерированные в этом раунде, не будут подвергнуты последующей обработке аннотаций; в противном случае возвращает false.

errorRaised

boolean errorRaised()
Возвращает true , если в предыдущем раунде обработки произошла ошибка; в противном случае возвращает false.
Возвращает:
true , если в предыдущем раунде обработки произошла ошибка; в противном случае возвращает false.

getRootElements

Set<? extends Element> getRootElements()
Возвращает корневые элементы для обработки аннотаций, сгенерированные предыдущим раундом.
Примечание API:
Корневые элементы соответствуют объявлениям верхнего уровня в единицах компиляции (раздел JLS 7.3). Корневые элементы чаще всего являются типами, но также могут быть пакетами или модулями.
Возвращает:
корневые элементы для обработки аннотаций, сгенерированные предыдущим раундом, или пустой набор, если таковых не было

getElementsAnnotatedWith

Set<? extends Element> getElementsAnnotatedWith(TypeElement a)
Возвращает элементы, помеченные заданным интерфейсом аннотаций. Аннотация может быть применена непосредственно или унаследована. Возвращаются только элементы пакетов, модулей и типов, включённые в этот раунд обработки аннотаций, а также объявления членов, конструкторов, параметров, параметров типа или компонентов записей, объявленных внутри них. Включённые типы элементов — это корневые типы и любые вложенные типы членов. Элементы пакета не считаются включенными только потому, что для этого пакета был создан файл package-info. Аналогично, элементы модуля не считаются включёнными только потому, что для этого модуля был создан файл module-info.
Параметры:
a - запрашиваемый интерфейс аннотации
Возвращает:
элементы, помеченные заданным интерфейсом аннотации, или пустой набор, если таковых нет
Исключения:
IllegalArgumentException - если аргумент не представляет собой интерфейс аннотации

getElementsAnnotatedWithAny

default Set<? extends Element> getElementsAnnotatedWithAny(TypeElement... annotations)
Возвращает элементы, помеченные одним или несколькими из заданных интерфейсов аннотаций.
Примечание API:
Этот метод может быть полезен при обработке повторяющихся аннотаций, позволяя искать интерфейс аннотации и его содержащий интерфейс аннотации одновременно.
Требования к реализации:
Базовая реализация этого метода создаёт пустой результат, итерируется по массиву аргументов, вызывая getElementsAnnotatedWith(TypeElement) для каждой аннотации и добавляя эти результаты в результат. Наконец, содержимое набора результатов возвращается как неизменяемый набор.
Параметры:
annotations - запрашиваемые интерфейсы аннотаций
Возвращает:
элементы, помеченные одним или несколькими из заданных интерфейсов аннотаций, или пустой набор, если таковых нет
Исключения:
IllegalArgumentException - если какой-либо из элементов набора аргументов не представляет собой интерфейс аннотации
См. Спецификацию языка Java:
9.6.3 Повторяющиеся интерфейсы аннотаций
С:
9

getElementsAnnotatedWith

Set<? extends Element> getElementsAnnotatedWith(Class<? extends Annotation> a)
Возвращает элементы, помеченные заданным интерфейсом аннотаций. Аннотация может быть применена непосредственно или унаследована. Возвращаются только элементы пакетов, модулей и типов, включённые в этот раунд обработки аннотаций, а также объявления членов, конструкторов, параметров, параметров типа или компонентов записей, объявленных внутри них. Включённые типы элементов — это корневые типы и любые вложенные типы членов. Элементы пакета не считаются включенными только потому, что для этого пакета был создан файл package-info. Аналогично, элементы модуля не считаются включёнными только потому, что для этого модуля был создан файл module-info.

Примечание: реализация этого метода обычно выполняет внутреннее преобразование из временного рефлексивного представления интерфейса аннотации как объекта Class в другое представление, используемое для обработки аннотаций. Набор интерфейсов аннотаций, присутствующих в контексте выполнения, может отличаться от набора интерфейсов аннотаций, присутствующих в контексте обработки аннотаций в конкретной конфигурации среды. Если интерфейс временной аннотации отсутствует в контексте обработки аннотаций, ситуация не рассматривается как ошибка, и для этого интерфейса аннотации не находятся элементы.

Параметры:
a - запрашиваемый интерфейс аннотации
Возвращает:
элементы, помеченные заданным интерфейсом аннотации, или пустой набор, если таковых нет
Исключения:
IllegalArgumentException - если аргумент не представляет собой интерфейс аннотации
См. также:
  • AnnotatedConstruct.getAnnotation(Class)
  • AnnotatedConstruct.getAnnotationsByType(Class)

getElementsAnnotatedWithAny

default Set<? extends Element> getElementsAnnotatedWithAny(Set<Class<? extends Annotation>> annotations)
Возвращает элементы, помеченные одним или несколькими из заданных интерфейсов аннотаций.

Примечание: реализация этого метода обычно выполняет внутреннее преобразование из временного рефлексивного представления интерфейса аннотации как объекта Class в другое представление, используемое для обработки аннотаций. Набор интерфейсов аннотаций, присутствующих в контексте выполнения, может отличаться от набора интерфейсов аннотаций, присутствующих в контексте обработки аннотаций в конкретной конфигурации среды. Если интерфейс временной аннотации отсутствует в контексте обработки аннотаций, ситуация не рассматривается как ошибка, и для этого интерфейса аннотации не находятся элементы.

Примечание API:
Этот метод может быть полезен при обработке повторяющихся аннотаций, позволяя искать интерфейс аннотации и его содержащий интерфейс аннотации одновременно.
Требования к реализации:
Базовая реализация этого метода создаёт пустой результат, итерируется по набору аргументов, вызывая getElementsAnnotatedWith(Class) для каждой аннотации и добавляя эти результаты в результат. Наконец, содержимое набора результатов возвращается как неизменяемый набор.
Параметры:
annotations - запрашиваемые интерфейсы аннотаций
Возвращает:
элементы, помеченные одним или несколькими из заданных интерфейсов аннотаций, или пустой набор, если таковых нет
Исключения:
IllegalArgumentException - если какой-либо из элементов набора аргументов не представляет собой интерфейс аннотации
См. Спецификацию языка Java:
9.6.3 Повторяющиеся интерфейсы аннотаций
С:
9
См. также:
  • AnnotatedConstruct.getAnnotation(Class)
  • AnnotatedConstruct.getAnnotationsByType(Class)

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.compiler/javax/annotation/processing/RoundEnvironment.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API