Spec-Zone.ru › OpenJDK 25

Класс AbstractProcessor

java.lang.Object
javax.annotation.processing.AbstractProcessor
Все реализуемые интерфейсы:
Processor
public abstract class AbstractProcessor extends Object implements Processor
Абстрактный процессор аннотаций, предназначенный служить удобным суперклассом для большинства конкретных процессоров аннотаций. Этот класс анализирует значения аннотаций, чтобы определить параметры, интерфейсы аннотаций и версию исходного кода, поддерживаемые его подклассами.

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

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

Начиная с версии:
1.6

Краткое описание полей

Модификатор и тип Поле Описание
protected ProcessingEnvironment processingEnv
Среда обработки, предоставляемая инфраструктурой инструмента.

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

AbstractProcessor()
Модификатор Конструктор Описание
protected
Конструктор, предназначенный для вызова подклассами.

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

Модификатор и тип Метод Описание
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()
Возвращает true, если этот объект был инициализирован, и false в противном случае.
abstract boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
Обрабатывает набор интерфейсов аннотаций для корневых элементов, полученных в предыдущем раунде, и возвращает, обрабатываются ли эти интерфейсы аннотаций данным процессором.

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

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

Подробное описание полей

processingEnv

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

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

AbstractProcessor

protected AbstractProcessor()
Конструктор, предназначенный для вызова подклассами.

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

getSupportedOptions

public Set<String> getSupportedOptions()
Возвращает параметры, распознаваемые этим процессором.
Определено в:
getSupportedOptions в интерфейсе Processor
Требования к реализации:
Если класс процессора аннотирован с помощью SupportedOptions, возвращает неизменяемый набор, содержащий тот же набор строк, что и аннотация. Если класс не аннотирован таким образом, возвращается пустой набор.
Возвращает:
параметры, распознаваемые этим процессором, или пустой набор, если таких параметров нет
См. также:
  • SupportedOptions

getSupportedAnnotationTypes

public Set<String> getSupportedAnnotationTypes()
Возвращает имена интерфейсов аннотаций, поддерживаемых этим процессором.
Определено в:
getSupportedAnnotationTypes в интерфейсе Processor
Требования к реализации:
Если класс процессора аннотирован с помощью SupportedAnnotationTypes, возвращает неизменяемый набор, содержащий тот же набор строк, что и аннотация. Если класс не аннотирован таким образом, возвращается пустой набор. Если версия исходного кода не поддерживает модули, то есть меньше или равна RELEASE_8, из имен удаляются все начальные префиксы модулей.
Возвращает:
имена интерфейсов аннотаций, поддерживаемых этим процессором, или пустой набор, если таких интерфейсов нет
См. также:
  • SupportedAnnotationTypes

getSupportedSourceVersion

public SourceVersion getSupportedSourceVersion()
Возвращает последнюю версию исходного кода, поддерживаемую этим процессором аннотаций.
Определено в:
getSupportedSourceVersion в интерфейсе Processor
Требования к реализации:
Если класс процессора аннотирован с помощью SupportedSourceVersion, возвращает версию исходного кода, указанную в аннотации. Если класс не аннотирован таким образом, возвращается SourceVersion.RELEASE_6.
Возвращает:
последнюю версию исходного кода, поддерживаемую этим процессором аннотаций
См. также:
  • SupportedSourceVersion
  • ProcessingEnvironment.getSourceVersion()

init

public void init(ProcessingEnvironment processingEnv)
Инициализирует процессор средой обработки.
Определено в:
init в интерфейсе Processor
Требования к реализации:
Инициализирует процессор средой обработки, присваивая полю processingEnv значение аргумента processingEnv. Если этот метод вызывается для одного и того же объекта более одного раза, будет выброшено исключение IllegalStateException.
Параметры:
processingEnv — среда для доступа к средствам, предоставляемым инфраструктурой инструмента процессору
Выбрасывает:
IllegalStateException — если этот метод вызван более одного раза.

process

public abstract boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
Обрабатывает набор интерфейсов аннотаций для корневых элементов, полученных в предыдущем раунде, и возвращает, обрабатываются ли эти интерфейсы аннотаций данным процессором. Если возвращается true, интерфейсы аннотаций считаются обработанными, и последующим процессорам не будет предложено их обрабатывать; если возвращается false, интерфейсы аннотаций считаются необработанными, и последующим процессорам может быть предложено их обработать. Процессор может всегда возвращать одно и то же логическое значение или менять результат в соответствии с выбранными им критериями.

Входной набор будет пустым, если процессор поддерживает "*", а корневые элементы не содержат аннотаций. 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 в противном случае

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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