Module java.base
Package java.lang.classfile.attribute

# Interface RecordAttribute

≠
public abstract sealed interface RecordAttribute
extends java.lang.classfile.Attribute<java.lang.classfile.attribute.RecordAttribute>, java.lang.classfile.ClassElement
permits jdk.internal.classfile.impl.BoundAttribute.BoundRecordAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundRecordAttribute
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `AttributePREVIEW <RecordAttribute>, ClassElementPREVIEW , ClassFileElement`

public sealed interface RecordAttribute extends AttributePREVIEW <RecordAttribute>, ClassElementPREVIEW
Models the `Record` attribute (JVMS §4.7.30), which indicates that this class is a record class and the record components.

This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.

The attribute was introduced in the Java SE Platform version 16, major version 60.

See Java Virtual Machine Specification:
  4.7.30 The `Record` Attribute
Since:
  24
See Also:
  - `Attributes.record()`
  - `Class.isRecord()`
  - `Class.getRecordComponents()`

## Methods

- =
  public abstract java.util.List<java.lang.classfile.attribute.RecordComponentInfo> components()
- =
  public static java.lang.classfile.attribute.RecordAttribute of(java.lang.classfile.attribute.RecordComponentInfo[] arg0)
- =
  public static java.lang.classfile.attribute.RecordAttribute of(java.util.List<java.lang.classfile.attribute.RecordComponentInfo> arg0)

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
RecordAttribute |  |  |  |  |  |  | 4 |  |  | 4
Total |  |  |  |  |  |  | 4 |  |  | 4