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

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

Посетитель сканирования элементов программы со стандартным поведением, подходящим для RELEASE_8 версии исходного кода. Методы 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:
1.8
See Also:
ElementScanner6, ElementScanner7, ElementScanner9

Поля

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

DEFAULT_VALUE

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

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

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

protected ElementScanner8​(R defaultValue)

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

Методы

Методы, объявленные в классе 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, visitModule, visitUnknown

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

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

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

ElementScanner8

protected ElementScanner8()

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

ElementScanner8

protected ElementScanner8(R defaultValue)

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

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

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

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