Spec-Zone.ru › OpenJDK 24

Интерфейс 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.compiler/javax/annotation/processing/RoundEnvironment.html

Spec-Zone.ru

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