Spec-Zone.ru › OpenJDK 25

Интерфейс ClassFileElement

Все известные подинтерфейсы:
AccessFlags, AnnotationDefaultAttribute, ArrayLoadInstruction, ArrayStoreInstruction, Attribute<A>, AttributedElement, BootstrapMethodsAttribute, BranchInstruction, CharacterRange, CharacterRangeTableAttribute, ClassElement, ClassFileVersion, ClassModel, CodeAttribute, CodeElement, CodeModel, CompilationIDAttribute, CompoundElement<E>, ConstantInstruction, ConstantInstruction.ArgumentConstantInstruction, ConstantInstruction.IntrinsicConstantInstruction, ConstantInstruction.LoadConstantInstruction, ConstantValueAttribute, ConvertInstruction, DeprecatedAttribute, DiscontinuedInstruction, DiscontinuedInstruction.JsrInstruction, DiscontinuedInstruction.RetInstruction, EnclosingMethodAttribute, ExceptionCatch, ExceptionsAttribute, FieldElement, FieldInstruction, FieldModel, IncrementInstruction, InnerClassesAttribute, Instruction, Interfaces, InvokeDynamicInstruction, InvokeInstruction, LabelTarget, LineNumber, LineNumberTableAttribute, LoadInstruction, LocalVariable, LocalVariableTableAttribute, LocalVariableType, LocalVariableTypeTableAttribute, LookupSwitchInstruction, MethodElement, MethodModel, MethodParametersAttribute, ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute, MonitorInstruction, NestHostAttribute, NestMembersAttribute, NewMultiArrayInstruction, NewObjectInstruction, NewPrimitiveArrayInstruction, NewReferenceArrayInstruction, NopInstruction, OperatorInstruction, PermittedSubclassesAttribute, PseudoInstruction, RecordAttribute, RecordComponentInfo, ReturnInstruction, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleParameterAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, RuntimeVisibleAnnotationsAttribute, RuntimeVisibleParameterAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, StackInstruction, StackMapTableAttribute, StoreInstruction, Superclass, SyntheticAttribute, TableSwitchInstruction, ThrowInstruction, TypeCheckInstruction, UnknownAttribute
Все известные реализующие классы:
CustomAttribute
public sealed interface ClassFileElement permits AttributedElement, CompoundElement<E>, Attribute<A>, ClassElement, CodeElement, FieldElement, MethodElement
Маркерный интерфейс для структур со специальными возможностями в формате файла class. AttributedElement указывает, что структура содержит Attribute. CompoundElement указывает, что структуру можно рассматривать как композицию структур-членов, членство которых обозначается ClassElement, MethodElement, FieldElement или CodeElement.

Элементы-члены

ClassModel, MethodModel, FieldModel и CodeModel имеют каждый специализированный интерфейс, обозначающий их структуры-члены: ClassElement, MethodElement, FieldElement и CodeElement. Их можно передать в ClassBuilder, MethodBuilder, FieldBuilder или CodeBuilder, чтобы включить их в качестве членов создаваемой модели. Если не указано иное, эти структуры передаются при обходе соответствующих моделей. Некоторые из этих элементов могут встречаться при обходе моделей не более одного раза или ровно один раз; такие элементы обрабатываются особым образом в ClassFileBuilder, что указано в соответствующих интерфейсах моделирования. Если такие элементы встречаются при обходе несколько раз, следует использовать последнее вхождение, а все предыдущие экземпляры отбросить.

Эти маркерные интерфейсы элементов-членов являются запечатанными; в будущих версиях платформы Java SE могут быть определены новые элементы в запечатанной иерархии по мере развития формата файлов class для платформы Java. Использование исчерпывающего оператора switch с сопоставлением с образцом для этих иерархий указывает, что пользователь хочет, чтобы код обработки выполнялся только для определённой версии платформы Java, и приведёт к сбою, если будут обнаружены неизвестные новые элементы.

Граф запечатанной иерархии классов:
Sealed class hierarchy graph for ClassFileElementSealed class hierarchy graph for ClassFileElement
С версии:
24

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/ClassFileElement.html

Spec-Zone.ru

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