# Uses of Interface
java.lang.classfile.ClassFileElement

Packages that use ClassFileElementPREVIEW
Package
Description
java.lang.classfile
Provides classfile parsing, generation, and transformation library.
java.lang.classfile.attribute
Provides interfaces describing classfile attributes for the `java.lang.classfile`PREVIEW library.
java.lang.classfile.constantpool
Provides interfaces describing classfile constant pool entries for the `java.lang.classfile`PREVIEW library.
java.lang.classfile.instruction
Provides interfaces describing code instructions for the `java.lang.classfile`PREVIEW library.
jdk.internal.classfile.impl

- ## Uses of ClassFileElementPREVIEW in java.lang.classfilePREVIEW

  Classes in java.lang.classfilePREVIEW with type parameters of type ClassFileElementPREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `ClassFileBuilderPREVIEW<E extends ClassFileElementPREVIEW,B extends ClassFileBuilderPREVIEW<E,B>>`
  Preview.
  A builder for a classfile or portion of a classfile.
  `interface`
  `ClassFileTransformPREVIEW<C extends ClassFileTransformPREVIEW<C,E,B>,E extends ClassFileElementPREVIEW,B extends ClassFileBuilderPREVIEW<E,B>>`
  Preview.
  A transformation on streams of elements.
  `static interface`
  `ClassFileTransform.ResolvedTransformPREVIEW<E extends ClassFileElementPREVIEW>`
  Preview.
  The result of binding a transform to a builder.
  `interface`
  `CompoundElementPREVIEW<E extends ClassFileElementPREVIEW>`
  Preview.
  A `ClassFileElement`PREVIEW that has complex structure defined in terms of other classfile elements, such as a method, field, method body, or entire class.
  Subinterfaces of ClassFileElementPREVIEW in java.lang.classfilePREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `AccessFlagsPREVIEW`
  Preview.
  Models the access flags for a class, method, or field.
  `interface`
  `AnnotationPREVIEW`
  Preview.
  Models an annotation on a declaration.
  `interface`
  `AnnotationElementPREVIEW`
  Preview.
  Models a key-value pair of an annotation.
  `interface`
  `AnnotationValuePREVIEW`
  Preview.
  Models the value of a key-value pair of an annotation.
  `static interface`
  `AnnotationValue.OfAnnotationPREVIEW`
  Preview.
  Models an annotation-valued element
  `static interface`
  `AnnotationValue.OfArrayPREVIEW`
  Preview.
  Models an array-valued element
  `static interface`
  `AnnotationValue.OfBooleanPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfBytePREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfCharacterPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfClassPREVIEW`
  Preview.
  Models a class-valued element
  `static interface`
  `AnnotationValue.OfConstantPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfDoublePREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfEnumPREVIEW`
  Preview.
  Models an enum-valued element
  `static interface`
  `AnnotationValue.OfFloatPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfIntegerPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfLongPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfShortPREVIEW`
  Preview.
  Models a constant-valued element
  `static interface`
  `AnnotationValue.OfStringPREVIEW`
  Preview.
  Models a constant-valued element
  `interface`
  `AttributePREVIEW<A extends AttributePREVIEW<A>>`
  Preview.
  Models a classfile attribute 4.7.
  `interface`
  `AttributedElementPREVIEW`
  Preview.
  A `ClassFileElement`PREVIEW describing an entity that has attributes, such as a class, field, method, code attribute, or record component.
  `interface`
  `BootstrapMethodEntryPREVIEW`
  Preview.
  Models an entry in the bootstrap method table.
  `interface`
  `ClassElementPREVIEW`
  Preview.
  A `ClassFileElement`PREVIEW that can appear when traversing the elements of a `ClassModel`PREVIEW or be presented to a `ClassBuilder`PREVIEW.
  `interface`
  `ClassFileVersionPREVIEW`
  Preview.
  Models the classfile version information for a class.
  `interface`
  `ClassModelPREVIEW`
  Preview.
  Models a classfile.
  `interface`
  `CodeElementPREVIEW`
  Preview.
  A `ClassFileElement`PREVIEW that can appear when traversing the elements of a `CodeModel`PREVIEW or be presented to a `CodeBuilder`PREVIEW.
  `interface`
  `CodeModelPREVIEW`
  Preview.
  Models the body of a method (the `Code` attribute).
  `interface`
  `CompoundElementPREVIEW<E extends ClassFileElementPREVIEW>`
  Preview.
  A `ClassFileElement`PREVIEW that has complex structure defined in terms of other classfile elements, such as a method, field, method body, or entire class.
  `interface`
  `FieldElementPREVIEW`
  Preview.
  A `ClassFileElement`PREVIEW that can appear when traversing the elements of a `FieldModel`PREVIEW or be presented to a `FieldBuilder`PREVIEW.
  `interface`
  `FieldModelPREVIEW`
  Preview.
  Models a field.
  `interface`
  `InstructionPREVIEW`
  Preview.
  Models an executable instruction in a method body.
  `interface`
  `InterfacesPREVIEW`
  Preview.
  Models the interfaces of a class.
  `interface`
  `MethodElementPREVIEW`
  Preview.
  A `ClassFileElement`PREVIEW that can appear when traversing the elements of a `MethodModel`PREVIEW or be presented to a `MethodBuilder`PREVIEW.
  `interface`
  `MethodModelPREVIEW`
  Preview.
  Models a method.
  `interface`
  `PseudoInstructionPREVIEW`
  Preview.
  Models metadata about a `CodeAttribute`PREVIEW, such as entries in the exception table, line number table, local variable table, or the mapping between instructions and labels.
  `interface`
  `SuperclassPREVIEW`
  Preview.
  Models the superclass of a class.
  `interface`
  `TypeAnnotationPREVIEW`
  Preview.
  Models an annotation on a type use, as defined in 4.7.19 and 4.7.20.
  `interface`
  `WritableElementPREVIEW<T>`
  Preview.
  A classfile element that can encode itself as a stream of bytes in the encoding expected by the classfile format.
  Classes in java.lang.classfilePREVIEW that implement ClassFileElementPREVIEW
  Modifier and Type
  Class
  Description
  `class`
  `CustomAttributePREVIEW<T extends CustomAttributePREVIEW<T>>`
  Preview.
  Models a non-standard attribute of a classfile.

- ## Uses of ClassFileElementPREVIEW in java.lang.classfile.attributePREVIEW

  Subinterfaces of ClassFileElementPREVIEW in java.lang.classfile.attributePREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `AnnotationDefaultAttributePREVIEW`
  Preview.
  Models the `AnnotationDefault` attribute 4.7.22, which can appear on methods of annotation types, and records the default value 9.6.2 for the element corresponding to this method.
  `interface`
  `BootstrapMethodsAttributePREVIEW`
  Preview.
  Models the `BootstrapMethods` attribute 4.7.23, which serves as an extension to the constant pool of a classfile.
  `interface`
  `CharacterRangeTableAttributePREVIEW`
  Preview.
  The CharacterRangeTable attribute is an optional variable-length attribute in the attributes table of a `Code` attribute.
  `interface`
  `CodeAttributePREVIEW`
  Preview.
  Models the `Code` attribute 4.7.3, appears on non-native, non-abstract methods and contains the bytecode of the method body.
  `interface`
  `CompilationIDAttributePREVIEW`
  Preview.
  Models the `CompilationID` attribute (@@@ need reference), which can appear on classes and records the compilation time of the class.
  `interface`
  `ConstantValueAttributePREVIEW`
  Preview.
  Models the `ConstantValue` attribute 4.7.2, which can appear on fields and indicates that the field's value is a constant.
  `interface`
  `DeprecatedAttributePREVIEW`
  Preview.
  Models the `Deprecated` attribute 4.7.15, which can appear on classes, methods, and fields.
  `interface`
  `EnclosingMethodAttributePREVIEW`
  Preview.
  Models the `EnclosingMethod` attribute 4.7.7, which can appear on classes, and indicates that the class is a local or anonymous class.
  `interface`
  `ExceptionsAttributePREVIEW`
  Preview.
  Models the `Exceptions` attribute 4.7.5, which can appear on methods, and records the exceptions declared to be thrown by this method.
  `interface`
  `InnerClassesAttributePREVIEW`
  Preview.
  Models the `InnerClasses` attribute 4.7.6, which can appear on classes, and records which classes referenced by this classfile are inner classes.
  `interface`
  `LineNumberTableAttributePREVIEW`
  Preview.
  Models the `LineNumberTable` attribute 4.7.12, which can appear on a `Code` attribute, and records the mapping between indexes into the code table and line numbers in the source file.
  `interface`
  `LocalVariableTableAttributePREVIEW`
  Preview.
  Models the `LocalVariableTable` attribute 4.7.13, which can appear on a `Code` attribute, and records debug information about local variables.
  `interface`
  `LocalVariableTypeTableAttributePREVIEW`
  Preview.
  Models the `LocalVariableTypeTable` attribute 4.7.14, which can appear on a `Code` attribute, and records debug information about local variables.
  `interface`
  `MethodParametersAttributePREVIEW`
  Preview.
  Models the `MethodParameters` attribute 4.7.24, which can appear on methods, and records optional information about the method's parameters.
  `interface`
  `ModuleAttributePREVIEW`
  Preview.
  Models the `Module` attribute 4.7.25, which can appear on classes that represent module descriptors.
  `interface`
  `ModuleHashesAttributePREVIEW`
  Preview.
  Models the `ModuleHashes` attribute, which can appear on classes that represent module descriptors.
  `interface`
  `ModuleMainClassAttributePREVIEW`
  Preview.
  Models the `ModuleMainClass` attribute 4.7.27, which can appear on classes that represent module descriptors.
  `interface`
  `ModulePackagesAttributePREVIEW`
  Preview.
  Models the `ModulePackages` attribute 4.7.26, which can appear on classes that represent module descriptors.
  `interface`
  `ModuleResolutionAttributePREVIEW`
  Preview.
  Models the `ModuleResolution` attribute, which can appear on classes that represent module descriptors.
  `interface`
  `ModuleTargetAttributePREVIEW`
  Preview.
  Models the `ModuleTarget` attribute, which can appear on classes that represent module descriptors.
  `interface`
  `NestHostAttributePREVIEW`
  Preview.
  Models the `NestHost` attribute 4.7.28, which can appear on classes to indicate that this class is a member of a nest.
  `interface`
  `NestMembersAttributePREVIEW`
  Preview.
  Models the `NestMembers` attribute 4.7.29, which can appear on classes to indicate that this class is the host of a nest.
  `interface`
  `PermittedSubclassesAttributePREVIEW`
  Preview.
  Models the `PermittedSubclasses` attribute 4.7.31, which can appear on classes to indicate which classes may extend this class.
  `interface`
  `RecordAttributePREVIEW`
  Preview.
  Models the `Record` attribute 4.7.30, which can appear on classes to indicate that this class is a record class.
  `interface`
  `RecordComponentInfoPREVIEW`
  Preview.
  Models a single record component in the `RecordAttribute`PREVIEW.
  `interface`
  `RuntimeInvisibleAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeInvisibleAnnotations` attribute 4.7.17, which can appear on classes, methods, and fields.
  `interface`
  `RuntimeInvisibleParameterAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeInvisibleParameterAnnotations` attribute 4.7.19, which can appear on methods.
  `interface`
  `RuntimeInvisibleTypeAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeInvisibleTypeAnnotations` attribute 4.7.21, which can appear on classes, methods, fields, and code attributes.
  `interface`
  `RuntimeVisibleAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeVisibleAnnotations` attribute 4.7.16, which can appear on classes, methods, and fields.
  `interface`
  `RuntimeVisibleParameterAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeVisibleParameterAnnotations` attribute 4.7.18, which can appear on methods.
  `interface`
  `RuntimeVisibleTypeAnnotationsAttributePREVIEW`
  Preview.
  Models the `RuntimeVisibleTypeAnnotations` attribute 4.7.20, which can appear on classes, methods, fields, and code attributes.
  `interface`
  `SignatureAttributePREVIEW`
  Preview.
  Models the `Signature` attribute 4.7.9, which can appear on classes, methods, or fields.
  `interface`
  `SourceDebugExtensionAttributePREVIEW`
  Preview.
  Models the `SourceDebugExtension` attribute.
  `interface`
  `SourceFileAttributePREVIEW`
  Preview.
  Models the `SourceFile` attribute 4.7.10, which can appear on classes.
  `interface`
  `SourceIDAttributePREVIEW`
  Preview.
  Models the `SourceID` attribute, which can appear on classes.
  `interface`
  `StackMapTableAttributePREVIEW`
  Preview.
  Models the `StackMapTable` attribute 4.7.4, which can appear on a `Code` attribute.
  `interface`
  `SyntheticAttributePREVIEW`
  Preview.
  Models the `Synthetic` attribute 4.7.8, which can appear on classes, methods, and fields.
  `interface`
  `UnknownAttributePREVIEW`
  Preview.
  Models an unknown attribute on a class, method, or field.

- ## Uses of ClassFileElementPREVIEW in java.lang.classfile.constantpoolPREVIEW

  Subinterfaces of ClassFileElementPREVIEW in java.lang.classfile.constantpoolPREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `AnnotationConstantValueEntryPREVIEW`
  Preview.
  A constant pool entry that may be used as an annotation constant, which includes the four kinds of primitive constants, and UTF8 constants.
  `interface`
  `ClassEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Class_info` constant in the constant pool of a classfile.
  `interface`
  `ConstantDynamicEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Dynamic_info` constant in the constant pool of a classfile.
  `interface`
  `ConstantPoolBuilderPREVIEW`
  Preview.
  Builder for the constant pool of a classfile.
  `interface`
  `ConstantValueEntryPREVIEW`
  Preview.
  Models a constant pool entry that can be used as the constant in a `ConstantValue` attribute; this includes the four primitive constant types and String constants.
  `interface`
  `DoubleEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Double_info` constant in the constant pool of a classfile.
  `interface`
  `DynamicConstantPoolEntryPREVIEW`
  Preview.
  Models a dynamic constant pool entry, which is either `ConstantDynamicEntry`PREVIEW or `InvokeDynamicEntry`PREVIEW.
  `interface`
  `FieldRefEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Fieldref_info` constant in the constant pool of a classfile.
  `interface`
  `FloatEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Float_info` constant in the constant pool of a classfile.
  `interface`
  `IntegerEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Integer_info` constant in the constant pool of a classfile.
  `interface`
  `InterfaceMethodRefEntryPREVIEW`
  Preview.
  Models a `CONSTANT_InterfaceMethodRef_info` constant in the constant pool of a classfile.
  `interface`
  `InvokeDynamicEntryPREVIEW`
  Preview.
  Models a constant pool entry for a dynamic call site.
  `interface`
  `LoadableConstantEntryPREVIEW`
  Preview.
  Marker interface for constant pool entries suitable for loading via the `LDC` instructions.
  `interface`
  `LongEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Long_info` constant in the constant pool of a classfile.
  `interface`
  `MemberRefEntryPREVIEW`
  Preview.
  Models a member reference constant in the constant pool of a classfile, which includes references to fields, methods, and interface methods.
  `interface`
  `MethodHandleEntryPREVIEW`
  Preview.
  Models a `CONSTANT_MethodHandle_info` constant in the constant pool of a classfile.
  `interface`
  `MethodRefEntryPREVIEW`
  Preview.
  Models a `CONSTANT_MethodRef_info` constant in the constant pool of a classfile.
  `interface`
  `MethodTypeEntryPREVIEW`
  Preview.
  Models a `CONSTANT_MethodType_info` constant in the constant pool of a classfile.
  `interface`
  `ModuleEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Module_info` constant in the constant pool of a classfile.
  `interface`
  `NameAndTypeEntryPREVIEW`
  Preview.
  Models a `CONSTANT_NameAndType_info` constant in the constant pool of a classfile.
  `interface`
  `PackageEntryPREVIEW`
  Preview.
  Models a `CONSTANT_Package_info` constant in the constant pool of a classfile.
  `interface`
  `PoolEntryPREVIEW`
  Preview.
  Models an entry in the constant pool of a classfile.
  `interface`
  `StringEntryPREVIEW`
  Preview.
  Models a `CONSTANT_String_info` constant in the constant pool of a classfile.
  `interface`
  `Utf8EntryPREVIEW`
  Preview.
  Models a `CONSTANT_UTF8_info` constant in the constant pool of a classfile.

- ## Uses of ClassFileElementPREVIEW in java.lang.classfile.instructionPREVIEW

  Subinterfaces of ClassFileElementPREVIEW in java.lang.classfile.instructionPREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `ArrayLoadInstructionPREVIEW`
  Preview.
  Models an array load instruction in the `code` array of a `Code` attribute.
  `interface`
  `ArrayStoreInstructionPREVIEW`
  Preview.
  Models an array store instruction in the `code` array of a `Code` attribute.
  `interface`
  `BranchInstructionPREVIEW`
  Preview.
  Models a branching instruction (conditional or unconditional) in the `code` array of a `Code` attribute.
  `interface`
  `CharacterRangePREVIEW`
  Preview.
  A pseudo-instruction which models a single entry in the `CharacterRangeTableAttribute`PREVIEW.
  `interface`
  `ConstantInstructionPREVIEW`
  Preview.
  Models a constant-load instruction in the `code` array of a `Code` attribute, including "intrinsic constant" instructions (e.g., `iconst_0`), "argument constant" instructions (e.g., `bipush`), and "load constant" instructions (e.g., `LDC`).
  `static interface`
  `ConstantInstruction.ArgumentConstantInstructionPREVIEW`
  Preview.
  Models an "argument constant" instruction (e.g., `bipush`).
  `static interface`
  `ConstantInstruction.IntrinsicConstantInstructionPREVIEW`
  Preview.
  Models an "intrinsic constant" instruction (e.g., `iconst_0`).
  `static interface`
  `ConstantInstruction.LoadConstantInstructionPREVIEW`
  Preview.
  Models a "load constant" instruction (e.g., `ldc`).
  `interface`
  `ConvertInstructionPREVIEW`
  Preview.
  Models a primitive conversion instruction in the `code` array of a `Code` attribute, such as `i2l`.
  `interface`
  `DiscontinuedInstructionPREVIEW`
  Preview.
  Models instruction discontinued from the `code` array of a `Code` attribute.
  `static interface`
  `DiscontinuedInstruction.JsrInstructionPREVIEW`
  Preview.
  Models JSR and JSR_W instructions discontinued from the `code` array of a `Code` attribute since class file version 51.0.
  `static interface`
  `DiscontinuedInstruction.RetInstructionPREVIEW`
  Preview.
  Models RET and RET_W instructions discontinued from the `code` array of a `Code` attribute since class file version 51.0.
  `interface`
  `ExceptionCatchPREVIEW`
  Preview.
  A pseudo-instruction modeling an entry in the exception table of a code attribute.
  `interface`
  `FieldInstructionPREVIEW`
  Preview.
  Models a field access instruction in the `code` array of a `Code` attribute.
  `interface`
  `IncrementInstructionPREVIEW`
  Preview.
  Models a local variable increment instruction in the `code` array of a `Code` attribute.
  `interface`
  `InvokeDynamicInstructionPREVIEW`
  Preview.
  Models an `invokedynamic` instruction in the `code` array of a `Code` attribute.
  `interface`
  `InvokeInstructionPREVIEW`
  Preview.
  Models a method invocation instruction in the `code` array of a `Code` attribute, other than `invokedynamic`.
  `interface`
  `LabelTargetPREVIEW`
  Preview.
  A pseudo-instruction which indicates that the specified label corresponds to the current position in the `Code` attribute.
  `interface`
  `LineNumberPREVIEW`
  Preview.
  A pseudo-instruction which models a single entry in the `LineNumberTableAttribute`PREVIEW.
  `interface`
  `LoadInstructionPREVIEW`
  Preview.
  Models a local variable load instruction in the `code` array of a `Code` attribute.
  `interface`
  `LocalVariablePREVIEW`
  Preview.
  A pseudo-instruction which models a single entry in the `LocalVariableTableAttribute`PREVIEW.
  `interface`
  `LocalVariableTypePREVIEW`
  Preview.
  A pseudo-instruction which models a single entry in the `LocalVariableTypeTableAttribute`PREVIEW.
  `interface`
  `LookupSwitchInstructionPREVIEW`
  Preview.
  Models a `lookupswitch` instruction in the `code` array of a `Code` attribute.
  `interface`
  `MonitorInstructionPREVIEW`
  Preview.
  Models a `monitorenter` or `monitorexit` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewMultiArrayInstructionPREVIEW`
  Preview.
  Models a `multianewarray` invocation instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewObjectInstructionPREVIEW`
  Preview.
  Models a `new` instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewPrimitiveArrayInstructionPREVIEW`
  Preview.
  Models a `newarray` invocation instruction in the `code` array of a `Code` attribute.
  `interface`
  `NewReferenceArrayInstructionPREVIEW`
  Preview.
  Models a `anewarray` invocation instruction in the `code` array of a `Code` attribute.
  `interface`
  `NopInstructionPREVIEW`
  Preview.
  Models a `nop` invocation instruction in the `code` array of a `Code` attribute.
  `interface`
  `OperatorInstructionPREVIEW`
  Preview.
  Models an arithmetic operator instruction in the `code` array of a `Code` attribute.
  `interface`
  `ReturnInstructionPREVIEW`
  Preview.
  Models a return-from-method instruction in the `code` array of a `Code` attribute.
  `interface`
  `StackInstructionPREVIEW`
  Preview.
  Models a stack manipulation instruction in the `code` array of a `Code` attribute.
  `interface`
  `StoreInstructionPREVIEW`
  Preview.
  Models a local variable store instruction in the `code` array of a `Code` attribute.
  `interface`
  `TableSwitchInstructionPREVIEW`
  Preview.
  Models a `tableswitch` instruction in the `code` array of a `Code` attribute.
  `interface`
  `ThrowInstructionPREVIEW`
  Preview.
  Models an `athrow` instruction in the `code` array of a `Code` attribute.
  `interface`
  `TypeCheckInstructionPREVIEW`
  Preview.
  Models an `instanceof` or `checkcast` instruction in the `code` array of a `Code` attribute.

- ## Uses of ClassFileElementPREVIEW in jdk.internal.classfile.impl

  Classes in jdk.internal.classfile.impl that implement ClassFileElementPREVIEW
  Modifier and Type
  Class
  Description
  `class`
  `jdk.internal.classfile.impl.UnboundAttributePREVIEW<T extends AttributePREVIEW<T>>`
  `static class`
  `jdk.internal.classfile.impl.UnboundAttribute.CustomAttributePREVIEW<T extends jdk.internal.classfile.impl.UnboundAttribute.CustomAttributePREVIEW<T>>`