Spec-Zone.ru › OpenJDK 17

Интерфейс 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.
Returns:
true если типы, сгенерированные в этом раунде, не будут подвергнуты последующему раунду обработки аннотаций; в противном случае возвращает false

errorRaised

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

getRootElements

Set<? extends Element> getRootElements()
Возвращает корневые элементы для обработки аннотаций, сгенерированные предыдущим раундом.
Returns:
корневые элементы для обработки аннотаций, сгенерированные предыдущим раундом, или пустой набор, если их не было

getElementsAnnotatedWith

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

getElementsAnnotatedWithAny

default Set<? extends Element> getElementsAnnotatedWithAny(TypeElement... annotations)
Возвращает элементы, помеченные одним или несколькими заданными типами аннотаций.
API Note:
Этот метод может быть полезен при обработке повторяющихся аннотаций, позволяя искать тип аннотации и его содержащий тип аннотации одновременно.
Implementation Requirements:
Реализация по умолчанию этого метода создает пустой результат, итерируется по массиву аннотаций, вызывая getElementsAnnotatedWith(TypeElement) для каждой аннотации и добавляя эти результаты в результирующий набор. Наконец, содержимое результирующего набора возвращается в качестве неизменяемого набора.
Parameters:
annotations - запрашиваемые типы аннотаций
Returns:
элементы, помеченные одним или несколькими заданными типами аннотаций, или пустой набор, если их нет
Throws:
IllegalArgumentException - если какие-либо элементы набора аргументов не представляют тип аннотации
See Java Language Specification:
9.6.3 Повторяющиеся интерфейсы аннотаций
Since:
9

getElementsAnnotatedWith

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

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

Parameters:
a - запрашиваемый тип аннотации
Returns:
элементы, помеченные заданным типом аннотации, или пустой набор, если их нет
Throws:
IllegalArgumentException - если аргумент не представляет тип аннотации
See Also:
  • AnnotatedConstruct.getAnnotation(Class)
  • AnnotatedConstruct.getAnnotationsByType(Class)

getElementsAnnotatedWithAny

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

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

API Note:
Этот метод может быть полезен при обработке повторяющихся аннотаций, позволяя искать тип аннотации и его содержащий тип аннотации одновременно.
Implementation Requirements:
Реализация по умолчанию этого метода создает пустой результат, итерируется по аннотациям в наборе аргументов, вызывая getElementsAnnotatedWith(Class) для каждой аннотации и добавляя эти результаты в результирующий набор. Наконец, содержимое результирующего набора возвращается в качестве неизменяемого набора.
Parameters:
annotations - запрашиваемые типы аннотаций
Returns:
элементы, помеченные одним или несколькими заданными типами аннотаций, или пустой набор, если их нет
Throws:
IllegalArgumentException - если какие-либо элементы набора аргументов не представляют тип аннотации
See Java Language Specification:
9.6.3 Повторяющиеся интерфейсы аннотаций
Since:
9
See Also:
  • AnnotatedConstruct.getAnnotation(Class)
  • AnnotatedConstruct.getAnnotationsByType(Class)

© 1993, 2021, 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/17/docs/api/java.compiler/javax/annotation/processing/RoundEnvironment.html

Spec-Zone.ru

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