Spec-Zone.ru › OpenJDK 27

Interface CompoundElement<E extends ClassFileElement>

Параметры типа:
E — тип элемента-члена
Все суперинтерфейсы:
ClassFileElement, Iterable<E>
Все известные подинтерфейсы:
ClassModel, CodeAttribute, CodeModel, FieldModel, MethodModel
public sealed interface CompoundElement<E extends ClassFileElement> extends ClassFileElement, Iterable<E> permits ClassModel, CodeModel, FieldModel, MethodModel (not exhaustive)
Структура файла class, которую можно рассматривать как композицию составляющих её структур-членов. CompoundElement позволяет пользователям обходить эти элементы-члены с помощью forEach(Consumer) или elementStream() либо буферизовать элементы, полученные при обходе, с помощью iterator() или elementList().

Если не указано иное, во время обхода будут представлены все существующие в этом элементе элементы-члены совместимого типа. Для некоторых элементов-членов указано, что они могут встречаться в этом элементе не более одного раза; если такие элементы представлены несколько раз, достоверным является последнее вхождение, а все предыдущие следует игнорировать.

CompoundElement можно создавать с помощью ClassFileBuilder. ClassFileBuilder.transform(CompoundElement, ClassFileTransform) предоставляет простой способ создать новую структуру, выборочно обрабатывая исходные структуры-члены и передавая результаты построителю.

Граф иерархии запечатанных классов:
Sealed class hierarchy graph for CompoundElementSealed class hierarchy graph for CompoundElement
Начиная с версии:
24
См. также:
  • Элементы-члены
  • ClassFileBuilder

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

Модификатор и тип Метод Описание
default List<E> elementList()
Возвращает List, содержащий все элементы-члены этого составного элемента.
default Stream<E> elementStream()
Возвращает Stream, содержащий все элементы-члены этого составного элемента.
void forEach(Consumer<? super E> consumer)
Вызывает переданный обработчик для каждого элемента-члена этого составного элемента.
default Iterator<E> iterator()
Возвращает Iterator, описывающий все элементы-члены этого составного элемента.
default String toDebugString()
Возвращает текстовое представление составного элемента и его содержимого для отладки.

Методы, объявленные в интерфейсе Iterable

spliterator
Модификатор и тип Метод Описание
default Spliterator<E> spliterator()
Создаёт Spliterator для элементов, описанных этим Iterable.

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

forEach

void forEach(Consumer<? super E> consumer)
Вызывает переданный обработчик для каждого элемента-члена этого составного элемента.
Переопределяет:
forEach в интерфейсе Iterable<E extends ClassFileElement>
Параметры:
consumer — обработчик

iterator

default Iterator<E> iterator()
Возвращает Iterator, описывающий все элементы-члены этого составного элемента.
Переопределяет:
iterator в интерфейсе Iterable<E extends ClassFileElement>
Возвращает:
Iterator, описывающий все элементы-члены этого составного элемента

elementStream

default Stream<E> elementStream()
Возвращает Stream, содержащий все элементы-члены этого составного элемента.
Возвращает:
Stream, содержащий все элементы-члены этого составного элемента

elementList

default List<E> elementList()
Возвращает List, содержащий все элементы-члены этого составного элемента.
Возвращает:
List, содержащий все элементы-члены этого составного элемента

toDebugString

default String toDebugString()
Возвращает текстовое представление составного элемента и его содержимого для отладки. Формат, структура и точное содержимое возвращаемой строки не определены и могут измениться в любой момент в будущем.
Возвращает:
текстовое представление составного элемента и его содержимого для отладки

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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