Class 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 в начале переопределённых методов обеспечит обход в прямом порядке и т. д. Если составляющие элементы следует обходить в другом порядке, переопределённый метод visit должен вместо вызова super.visitXyz вызвать scan, передав элементы в желаемом порядке.
- Примечание к API:
- Методы этого класса можно переопределять при условии соблюдения их общего контракта.
ВНИМАНИЕ: В интерфейс
ElementVisitor, реализуемый этим классом, в будущем могут быть добавлены методы для поддержки новых, пока неизвестных языковых конструкций, появившихся в будущих версиях языка программирования Java. Поэтому в будущем в этот класс могут быть добавлены методы, имена которых начинаются с"visit"; во избежание несовместимости классы, расширяющие этот класс, не должны объявлять методы экземпляра с именами, начинающимися с"visit".При добавлении такого нового метода visit его реализация по умолчанию в этом классе будет прямо или косвенно вызывать метод
visitUnknown. Также будет представлен новый класс посетителя-сканера элементов, соответствующий новому уровню языка; для рассматриваемого метода visit у этого посетителя будет другое поведение по умолчанию. При появлении нового посетителя некоторые части этого класса посетителя могут быть объявлены устаревшими, включая его конструкторы. - С момента:
- 1.6
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected final R |
DEFAULT_VALUE |
Указанное значение по умолчанию. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Устарел. Выпуск 6 устарел; обновите код, используя посетителя для более новой версии. |
|
protected |
Устарел. Выпуск 6 устарел; обновите код, используя посетителя для более новой версии. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final R |
scan |
Перебирает заданные элементы и вызывает scan(Element, P) для каждого из них. |
final R |
scan |
Удобный метод, эквивалентный v.scan(e, null). |
R |
scan |
Обрабатывает элемент, вызывая e.accept(this, p); этот метод может быть переопределён подклассами. |
R |
visitExecutable |
Посещает исполняемый элемент. |
R |
visitPackage |
Посещает элемент пакета. |
R |
visitRecordComponent |
Посещает элемент компонента записи. |
R |
visitType |
Посещает элемент типа. |
R |
visitTypeParameter |
Посещает элемент параметра типа. |
R |
visitVariable |
Посещает элемент переменной. |
Методы, объявленные в классе AbstractElementVisitor6
visit, visit, visitModule, visitUnknown
Подробное описание полей
DEFAULT_VALUE
protected final R DEFAULT_VALUE
Подробное описание конструкторов
ElementScanner6
@Deprecated(since="9") protected ElementScanner6()
null в качестве значения по умолчанию.ElementScanner6
@Deprecated(since="9") 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- параметр, заданный посетителем - Возвращает:
- результат обхода
visitRecordComponent
public R visitRecordComponent(RecordComponentElement e, P p)
- Указано в:
-
visitRecordComponentв интерфейсеElementVisitor<R,P> - Переопределяет:
-
visitRecordComponentв классеAbstractElementVisitor6<R,P> - Требования к реализации:
- Эта реализация вызывает
visitUnknown(e, p). - Параметры:
-
e- посещаемый элемент -
p- параметр, заданный посетителем - Возвращает:
- результат обхода
- С момента:
- 14
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.compiler/javax/lang/model/util/ElementScanner6.html