Класс ElementScanner9<R,​P>

Type Parameters:
R — тип возвращаемого значения методами этого посетителя. Используйте Void для посетителей, которым не нужны результаты.
P — тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
All Implemented Interfaces:
ElementVisitor<R,​P>
@SupportedSourceVersion(RELEASE_11)
public class ElementScanner9<R,P>
extends ElementScanner8<R,​P>

Посетитель для сканирования элементов программы с поведением по умолчанию, подходящим для версий исходного кода от RELEASE_9 до RELEASE_11. Методы 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. Также будет представлен новый класс посетителя сканера элементов, соответствующий новому уровню языка; этот посетитель будет иметь другое поведение по умолчанию для метода посещения.

Since:
9
See Also:
ElementScanner6, ElementScanner7, ElementScanner8

Поля

Поля, объявленные в классе javax.lang.model.util.ElementScanner6

DEFAULT_VALUE

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

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

Конструктор для конкретных подклассов; использует null в качестве значения по умолчанию.

protected ElementScanner9​(R defaultValue)

Конструктор для конкретных подклассов; использует переданное значение в качестве значения по умолчанию.

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

Модификатор и тип Метод Описание
R visitModule​(ModuleElement e, P p)

Посещает элемент модуля.

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

visitVariable

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

scan, scan, scan, visitExecutable, visitPackage, visitType, visitTypeParameter

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

visit, visit, visitUnknown

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

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

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

ElementScanner9

protected ElementScanner9()

Конструктор для конкретных подклассов; использует null в качестве значения по умолчанию.

ElementScanner9

protected ElementScanner9(R defaultValue)

Конструктор для конкретных подклассов; использует переданное значение в качестве значения по умолчанию.

Parameters:
defaultValue — значение по умолчанию

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

visitModule

public R visitModule(ModuleElement e,
                     P p)

Посещает элемент модуля.

Specified by:
visitModule в интерфейсе ElementVisitor<R,​P>
Overrides:
visitModule в классе AbstractElementVisitor6<R,​P>
Implementation Requirements:
Эта реализация сканирует вложенные элементы.
Parameters:
e — элемент для посещения
p — параметр, указанный посетителем
Returns:
результат сканирования

© 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/ElementScanner9.html

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