Spec-Zone.ru › OpenJDK 25

Интерфейс 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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/CompoundElement.html

Spec-Zone.ru

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