Spec-Zone.ru › OpenJDK 27

Класс ElementScanner6<R,P>

java.lang.Object
javax.lang.model.util.AbstractElementVisitor6<R,P>
javax.lang.model.util.ElementScanner6<R,P>
Параметры типа:
R — тип возвращаемого значения методов этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P — тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все реализованные интерфейсы:
ElementVisitor<R,P>
Прямые известные подклассы:
ElementScanner7
@SupportedSourceVersion(RELEASE_6) public class ElementScanner6<R,P> extends AbstractElementVisitor6<R,P>
Посетитель со сканированием элементов программы и поведением по умолчанию, соответствующим исходной версии RELEASE_6. Методы visitXyz этого класса сканируют составляющие их элементы, вызывая scan для их вложенных элементов, параметров и т. д., как указано в спецификациях отдельных методов. Подкласс может управлять порядком посещения элементов, переопределяя методы visitXyz. Обратите внимание: клиенты сканера могут добиться нужного поведения, вызывая v.scan(e, p), а не v.visit(e, p) для корневых объектов, представляющих интерес.

Если подкласс переопределяет метод visitXyz, новый метод может запускать сканирование вложенных элементов способом по умолчанию, вызывая super.visitXyz. Таким образом, конкретный посетитель может управлять порядком обхода составляющих элементов относительно дополнительной обработки; например, последовательный вызов super.visitXyz в начале переопределённых методов обеспечит обход в прямом порядке и т. д. Если составляющие элементы необходимо обходить в другом порядке, переопределённый метод посещения должен вместо вызова super.visitXyz вызывать scan, передавая элементы в нужном порядке.

Примечание к API:
Методы этого класса могут быть переопределены при условии соблюдения их общего контракта.

ПРЕДУПРЕЖДЕНИЕ: В интерфейс ElementVisitor, реализуемый этим классом, в будущем могут быть добавлены методы для поддержки новых, пока неизвестных языковых конструкций, добавленных в будущих версиях языка программирования Java. Поэтому в будущем в этот класс могут быть добавлены методы, имена которых начинаются с "visit"; во избежание несовместимости классы, расширяющие этот класс, не должны объявлять собственные методы экземпляра с именами, начинающимися с "visit".

При добавлении такого нового метода посещения его реализация по умолчанию в этом классе будет прямо или косвенно вызывать метод visitUnknown. Также будет представлен новый класс посетителя со сканированием элементов, соответствующий новому уровню языка; поведение по умолчанию метода посещения, о котором идёт речь, в этом посетителе будет отличаться. При появлении нового посетителя отдельные части этого класса посетителя, включая его конструкторы, могут быть объявлены устаревшими.

Начиная с:
1.6
См. также:
  • ElementScanner7
  • ElementScanner8
  • ElementScanner9
  • ElementScanner14

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

Модификатор и тип Поле Описание
protected final R DEFAULT_VALUE
Указанное значение по умолчанию.

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

ElementScanner6()
ElementScanner6(R defaultValue)
Модификатор Конструктор Описание
protected
Устарел.
Выпуск 6 устарел; перейдите на посетитель для более нового уровня выпуска.
protected
Устарел.
Выпуск 6 устарел; перейдите на посетитель для более нового уровня выпуска.

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

Модификатор и тип Метод Описание
final R scan(Iterable<? extends Element> iterable, P p)
Перебирает указанные элементы и вызывает scan(Element, P) для каждого из них.
final R scan(Element e)
Вспомогательный метод, эквивалентный v.scan(e, null).
R scan(Element e, P p)
Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределён подклассами.
R visitExecutable(ExecutableElement e, P p)
Посещает исполняемый элемент.
R visitPackage(PackageElement e, P p)
Посещает элемент пакета.
R visitRecordComponent(RecordComponentElement e, P p)
Посещает элемент компонента записи.
R visitType(TypeElement e, P p)
Посещает элемент типа.
R visitTypeParameter(TypeParameterElement e, P p)
Посещает элемент параметра типа.
R visitVariable(VariableElement e, P p)
Посещает элемент переменной.

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

visit, visit, visitModule, visitUnknown
Модификатор и тип Метод Описание
final R visit(Element e)
Посещает любой элемент программы, как если бы передал его собственному методу accept этого элемента, передав null в качестве дополнительного параметра.
final R visit(Element e, P p)
Посещает любой элемент программы, как если бы передал его собственному методу accept этого элемента.
R visitModule(ModuleElement e, P p)
Посещает элемент модуля.
R visitUnknown(Element e, P p)
Посещает элемент неизвестного вида.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарел, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения указанного промежутка реального времени.

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

DEFAULT_VALUE

protected final R DEFAULT_VALUE
Указанное значение по умолчанию.

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

ElementScanner6

@Deprecated(since="9") protected ElementScanner6()
Устарел.
Выпуск 6 устарел; перейдите на посетитель для более нового уровня выпуска.
Конструктор для конкретных подклассов; использует null в качестве значения по умолчанию.

ElementScanner6

@Deprecated(since="9") protected ElementScanner6(R defaultValue)
Устарел.
Выпуск 6 устарел; перейдите на посетитель для более нового уровня выпуска.
Конструктор для конкретных подклассов; использует аргумент в качестве значения по умолчанию.
Параметры:
defaultValue — значение по умолчанию

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

scan

public final R scan(Iterable<? extends Element> iterable, P p)
Перебирает указанные элементы и вызывает scan(Element, P) для каждого из них. Возвращает результат последнего вызова scan или DEFAULT_VALUE для пустого итератора.
Параметры:
iterable — элементы для сканирования
p — дополнительный параметр
Возвращает:
результат сканирования последнего элемента или DEFAULT_VALUE, если элементов нет

scan

public R scan(Element e, P p)
Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределён подклассами.
Параметры:
e — элемент для сканирования
p — параметр, заданный сканером
Возвращает:
результат посещения e.

scan

public final R scan(Element e)
Вспомогательный метод, эквивалентный v.scan(e, null).
Параметры:
e — элемент для сканирования
Возвращает:
результат сканирования e.

visitPackage

public R visitPackage(PackageElement e, P p)
Посещает элемент пакета.
Требования к реализации:
Эта реализация сканирует вложенные элементы.
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования

visitType

public R visitType(TypeElement e, P p)
Посещает элемент типа.
Требования к реализации:
Эта реализация сканирует вложенные элементы. Обратите внимание: параметры типа этой реализацией не сканируются, поскольку параметры типа не считаются вложенными элементами типа.
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования

visitVariable

public R visitVariable(VariableElement e, P p)
Посещает элемент переменной.
Требования к реализации:
Эта реализация сканирует вложенные элементы, если только элемент не является RESOURCE_VARIABLE; в этом случае вызывается visitUnknown.
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования

visitExecutable

public R visitExecutable(ExecutableElement e, P p)
Посещает исполняемый элемент.
Требования к реализации:
Эта реализация сканирует параметры. Обратите внимание: параметры типа этой реализацией не сканируются.
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования

visitTypeParameter

public R visitTypeParameter(TypeParameterElement e, P p)
Посещает элемент параметра типа.
Требования к реализации:
Эта реализация сканирует вложенные элементы.
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования

visitRecordComponent

public R visitRecordComponent(RecordComponentElement e, P p)
Посещает элемент компонента записи.
Указан в:
visitRecordComponent в интерфейсе ElementVisitor<R,P>
Переопределяет:
visitRecordComponent в классе AbstractElementVisitor6<R,P>
Требования к реализации:
Эта реализация вызывает visitUnknown(e, p).
Параметры:
e — посещаемый элемент
p — параметр, заданный посетителем
Возвращает:
результат сканирования
Начиная с:
14

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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