Класс AbstractProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
- Все реализованные интерфейсы:
- Processor
public abstract class AbstractProcessor extends Object implements Processor
Абстрактный процессор аннотаций, предназначенный для удобного использования в качестве суперкласса для большинства конкретных процессоров аннотаций. Этот класс анализирует значения аннотаций для вычисления параметров, типов аннотаций и версии исходного кода, поддерживаемых его подклассами.
Методы-геттеры могут выдавать предупреждения о заметных условиях, используя возможности, доступные после инициализации процессора инициализирован.
Подклассы могут свободно переопределять реализацию и спецификацию любого из методов в этом классе, при условии соблюдения общего Processor контракта для данного метода.
- С момента:
- 1.6
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected ProcessingEnvironment |
processingEnv Среда обработки, предоставляемая фреймворком инструмента. |
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
AbstractProcessor() Конструктор для вызова подклассами. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Iterable<? extends Completion> |
getCompletions(Element element,
AnnotationMirror annotation,
ExecutableElement member,
String userText) Возвращает пустой итератор завершений. |
Set<String> |
getSupportedAnnotationTypes() Если класс процессора аннотирован |
Set<String> |
getSupportedOptions() Если класс процессора аннотирован |
SourceVersion |
getSupportedSourceVersion() Если класс процессора аннотирован |
void |
init(ProcessingEnvironment processingEnv) Инициализирует процессор с помощью среды обработки, установив поле |
protected boolean |
isInitialized() Возвращает |
abstract boolean |
process(Set<? extends TypeElement> annotations,
RoundEnvironment roundEnv) Обрабатывает набор типов аннотаций над элементами типа, полученными с предыдущего цикла, и возвращает, были ли эти типы аннотаций заявлены этим процессором. Если возвращается Вводной набор будет пустым, если процессор поддерживает |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Поля
processingEnv
protected ProcessingEnvironment processingEnv
Среда обработки, предоставляемая фреймворком инструмента.
Конструкторы
AbstractProcessor
protected AbstractProcessor()
Конструктор для вызова подклассами.
Методы
getSupportedOptions
public Set<String> getSupportedOptions()
Если класс процессора аннотирован SupportedOptions, возвращает неизменяемый набор со следующим набором строк, что и в аннотации. Если класс не аннотирован, возвращается пустой набор.
- Определено в:
-
getSupportedOptionsв интерфейсеProcessor - Возвращает:
- параметры, распознаваемые этим процессором, или пустой набор, если таких нет.
- См. также:
SupportedOptions
getSupportedAnnotationTypes
public Set<String> getSupportedAnnotationTypes()
Если класс процессора аннотирован SupportedAnnotationTypes, возвращает неизменяемый набор со следующим набором строк, что и в аннотации. Если класс не аннотирован, возвращается пустой набор.
- Определено в:
-
getSupportedAnnotationTypesв интерфейсеProcessor - Возвращает:
- имена типов аннотаций, поддерживаемых этим процессором, или пустой набор, если таких нет.
- См. также:
SupportedAnnotationTypes
getSupportedSourceVersion
public SourceVersion getSupportedSourceVersion()
Если класс процессора аннотирован SupportedSourceVersion, возвращает версию исходного кода в аннотации. Если класс не аннотирован, возвращается SourceVersion.RELEASE_6.
- Определено в:
-
getSupportedSourceVersionв интерфейсеProcessor - Возвращает:
- самую последнюю поддерживаемую версию исходного кода этим процессором.
- См. также:
-
SupportedSourceVersion,ProcessingEnvironment.getSourceVersion()
init
public void init(ProcessingEnvironment processingEnv)
Инициализирует процессор с помощью среды обработки, установив поле processingEnv в значение аргумента processingEnv. Будет выброшено исключение IllegalStateException, если этот метод вызывается более одного раза для одного и того же объекта.
- Определено в:
-
initв интерфейсеProcessor - Параметры:
-
processingEnv- среда для доступа к ресурсам, предоставляемым фреймворком инструмента процессору - Исключения:
-
IllegalStateException- если этот метод вызывается более одного раза.
process
public abstract boolean process(Set<? extends TypeElement> annotations,
RoundEnvironment roundEnv)
Обрабатывает набор типов аннотаций над элементами типа, полученными с предыдущего цикла, и возвращает, были ли эти типы аннотаций заявлены этим процессором. Если возвращается true, типы аннотаций заявлены, и последующие процессоры не будут запрошены для их обработки; если возвращается false, типы аннотаций не заявлены, и последующим процессорам может быть запрошено их обработать. Процессор может всегда возвращать одно и то же значение boolean или изменять результат в зависимости от выбранных критериев.
Вводной набор будет пустым, если процессор поддерживает "*", и у корневых элементов нет аннотаций. Процессор Processor должен корректно обрабатывать пустой набор аннотаций.
- Определено в:
-
processв интерфейсеProcessor - Параметры:
-
annotations- типы аннотаций, запрошенные для обработки -
roundEnv- среда для получения информации о текущем и предыдущем цикле - Возвращает:
- были ли типы аннотаций заявлены этим процессором
getCompletions
public Iterable<? extends Completion> getCompletions(Element element,
AnnotationMirror annotation,
ExecutableElement member,
String userText)
Возвращает пустой итератор завершений.
- Определено в:
-
getCompletionsв интерфейсеProcessor - Параметры:
-
element- элемент, который аннотируется -
annotation- (возможно, частичная) аннотация, применяемая к элементу -
member- член аннотации, для которого следует вернуть возможные завершения -
userText- текст исходного кода, который должен быть завершен - Возвращает:
- предлагаемые завершения для аннотации
isInitialized
protected boolean isInitialized()
Возвращает true, если этот объект был инициализирован, false в противном случае.
- Возвращает:
-
trueесли этот объект был инициализирован,falseв противном случае.
© 1993, 2020, 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.