Spec-Zone.ru › OpenJDK 8

Класс ElementScanner6<R,P>

  • java.lang.Object
    • javax.lang.model.util.AbstractElementVisitor6<R,P>
      • javax.lang.model.util.ElementScanner6<R,P>
Type Parameters:
R - тип возвращаемого значения методами этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P - тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все реализованные интерфейсы:
ElementVisitor<R,P>
Прямые известные подклассы:
ElementScanner7

@SupportedSourceVersion(value=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

Поля

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

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

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

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

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

protected ElementScanner6(R defaultValue)

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

Методы

Модификатор и тип Метод и описание
R scan(Element e)

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

R scan(Element e, P p)

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

R scan(Iterable<? extends Element> iterable, P p)

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

R visitExecutable(ExecutableElement e, P p)

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

R visitPackage(PackageElement e, P p)

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

R visitType(TypeElement e, P p)

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

R visitTypeParameter(TypeParameterElement e, P p)

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

R visitVariable(VariableElement e, P p)

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

Методы унаследованные от класса javax.lang.model.util.AbstractElementVisitor6

visit, visit, visitUnknown

Методы унаследованные от класса java.lang.Object

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

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

DEFAULT_VALUE

protected final R DEFAULT_VALUE

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

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

ElementScanner6

protected ElementScanner6()

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

ElementScanner6

protected ElementScanner6(R defaultValue)

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

Параметры:
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.

Spec-Zone.ru

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