Класс 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 с элементами в желаемом порядке.

Методы в этом классе могут быть переопределены с учетом их общего контракта. Обратите внимание, что аннотирование методов в конкретных подклассах с @Override поможет убедиться, что методы переопределяются как предполагается.

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

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

С тех пор:
1.6
См. также:
ElementScanner7, ElementScanner8, ElementScanner9

Поля

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

Установленное значение по умолчанию.

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

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

Устарело.

Версия 6 устарела; обновите посетителя до более новой версии.

protected ElementScanner6​(R defaultValue)

Устарело.

Версия 6 устарела; обновите посетителя до более новой версии.

Методы

Модификатор и типМетодОписание
Rscan​(Iterable<? extends Element> iterable, P p)

Итерирует по заданным элементам и вызывает scan(Element, P) для каждого из них.

Rscan​(Element e)

Удобный метод, эквивалентный v.scan(e, null).

Rscan​(Element e, P p)

Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределен подклассами.

RvisitExecutable​(ExecutableElement e, P p)

Посещает исполняемый элемент.

RvisitPackage​(PackageElement e, P p)

Посещает элемент пакета.

RvisitType​(TypeElement e, P p)

Посещает элемент типа.

RvisitTypeParameter​(TypeParameterElement e, P p)

Посещает элемент параметра типа.

RvisitVariable​(VariableElement e, P p)

Посещает элемент переменной.

Методы, объявленные в классе javax.lang.model.util.AbstractElementVisitor6

visit, visit, visitModule, visitUnknown

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

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

Поля

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 - параметр, заданный посетителем
Возвращает:
результат сканирования

© 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/lang/model/util/ElementScanner6.html

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