Класс AbstractProcessor

Все реализованные интерфейсы:
Processor
public abstract class AbstractProcessor
extends Object
implements Processor

Абстрактный процессор аннотаций, предназначенный для удобного наследования большинством конкретных процессоров аннотаций. Этот класс анализирует значения аннотаций для вычисления опций, типов аннотаций и версии исходного кода, поддерживаемых его подтипами.

Методы-геттеры могут выдавать предупреждения о существенных условиях с использованием средств, доступных после того, как процессор был инициализирован.

Подклассы могут свободно переопределять реализацию и спецификацию любого из методов в этом классе, при условии соблюдения общего Processor контракта для этого метода.

С тех пор:
1.6

Поля

Модификатор и типПолеОписание
protected ProcessingEnvironmentprocessingEnv

Среда обработки, предоставляемая фреймворком инструмента.

Конструкторы

МодификаторКонструкторОписание
protected AbstractProcessor()

Конструктор для вызова подклассами.

Методы

Модификатор и типМетодОписание
Iterable<? extends Completion>getCompletions​(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)

Возвращает пустой итерируемый набор дополнений.

Set<String>getSupportedAnnotationTypes()

Если класс процессора аннотирован с помощью SupportedAnnotationTypes, вернуть неизменяемый набор с тем же набором строк, что и аннотация.

Set<String>getSupportedOptions()

Если класс процессора аннотирован с помощью SupportedOptions, вернуть неизменяемый набор с тем же набором строк, что и аннотация.

SourceVersiongetSupportedSourceVersion()

Если класс процессора аннотирован с помощью SupportedSourceVersion, вернуть версию исходного кода в аннотации.

voidinit​(ProcessingEnvironment processingEnv)

Инициализирует процессор с помощью среды обработки, установив поле processingEnv в значение аргумента processingEnv. Будет выброшено исключение isInitialized(), если этот метод вызывается более одного раза для одного и того же объекта.

protected booleanisInitialized()

Возвращает true, если этот объект был инициализирован, false в противном случае.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе javax.annotation.processing.Processor

process

Поля

processingEnv

protected ProcessingEnvironment processingEnv

Среда обработки, предоставляемая фреймворком инструмента.

Конструкторы

AbstractProcessor

protected AbstractProcessor()

Конструктор для вызова подклассами.

Методы

getSupportedOptions

public Set<String> getSupportedOptions()

Если класс процессора аннотирован с помощью SupportedOptions, вернуть неизменяемый набор с тем же набором строк, что и аннотация. Если класс не аннотирован таким образом, возвращается пустой набор.

Указано в:
getSupportedOptions в интерфейсе Processor
Возвращает:
опции, распознаваемые этим процессором, или пустой набор, если их нет
См. также:
SupportedOptions

getSupportedAnnotationTypes

public Set<String> getSupportedAnnotationTypes()

Если класс процессора аннотирован с помощью SupportedAnnotationTypes, вернуть неизменяемый набор с тем же набором строк, что и аннотация. Если класс не аннотирован таким образом, возвращается пустой набор. Если source version не поддерживает модули, другими словами, если он меньше или равен RELEASE_8, тогда все ведущие module prefixes удаляются из имён.

Указано в:
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 - если этот метод вызывается более одного раза.

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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/annotation/processing/AbstractProcessor.html

Spec-Zone .ru
спецификации, руководства, описания, API