# Uses of Interface
java.lang.classfile.Attribute

Packages that use AttributePREVIEW
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.
jdk.internal.classfile.impl

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

  Classes in java.lang.classfilePREVIEW with type parameters of type AttributePREVIEW
  Modifier and Type
  Interface
  Description
  `interface`
  `AttributePREVIEW<A extends AttributePREVIEW<A>>`
  Preview.
  Models a classfile attribute 4.7.
  Classes in java.lang.classfilePREVIEW that implement AttributePREVIEW
  Modifier and Type
  Class
  Description
  `class`
  `CustomAttributePREVIEW<T extends CustomAttributePREVIEW<T>>`
  Preview.
  Models a non-standard attribute of a classfile.
  Methods in java.lang.classfilePREVIEW with type parameters of type AttributePREVIEW
  Modifier and Type
  Method
  Description
  `default <T extends AttributePREVIEW<T>>
  Optional<T>`
  AttributedElement.`findAttribute(AttributeMapperPREVIEW<T> attr)`
  Finds an attribute by name.
  `default <T extends AttributePREVIEW<T>>
  List<T>`
  AttributedElement.`findAttributes(AttributeMapperPREVIEW<T> attr)`
  Finds one or more attributes by name.
  Methods in java.lang.classfilePREVIEW that return types with arguments of type AttributePREVIEW
  Modifier and Type
  Method
  Description
  `List<AttributePREVIEW<?>>`
  AttributedElement.`attributes()`
  Returns the attributes of this element.

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

  Subinterfaces of AttributePREVIEW 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`
  `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.
  Methods in java.lang.classfile.attributePREVIEW with parameters of type AttributePREVIEW
  Modifier and Type
  Method
  Description
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, AttributePREVIEW<?>... attributes)`
  Returns a record component description.
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(String name, ClassDesc descriptor, AttributePREVIEW<?>... attributes)`
  Returns a record component description.
  Method parameters in java.lang.classfile.attributePREVIEW with type arguments of type AttributePREVIEW
  Modifier and Type
  Method
  Description
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(Utf8EntryPREVIEW name, Utf8EntryPREVIEW descriptor, List<AttributePREVIEW<?>> attributes)`
  Returns a record component description.
  `static RecordComponentInfoPREVIEW`
  RecordComponentInfo.`of(String name, ClassDesc descriptor, List<AttributePREVIEW<?>> attributes)`
  Returns a record component description.

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

  Classes in jdk.internal.classfile.impl that implement AttributePREVIEW
  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>>`