Module java.base
Package java.lang.classfile

# Interface AccessFlags

≠
public abstract sealed interface AccessFlags
extends java.lang.classfile.ClassElement, java.lang.classfile.FieldElement, java.lang.classfile.MethodElement
permits jdk.internal.classfile.impl.AccessFlagsImpl
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `ClassElementPREVIEW , ClassFileElement, FieldElement, MethodElement`

public sealed interface AccessFlags extends ClassElementPREVIEW , MethodElement, FieldElement
Models the access flags for a class, method, or field. The access flags appears exactly once in each class, method, or field; a `ClassBuilder` and a `FieldBuilder` chooses an unspecified default value if access flags are not provided, and a `MethodBuilder` is always created with access flags.

`AccessFlags` cannot be created via a factory method directly; it can be created with `withFlags` methods on the respective builders.

A `MethodBuilder` throws an `IllegalArgumentException` if it is supplied an `AccessFlags` object that changes the preexisting `ACC_STATIC` flag of the builder, because the access flag change may invalidate previously supplied data to the builder.

API Note:
  The access flags of classes, methods, and fields are modeled as a standalone object to support streaming as elements for `ClassFileTransform` . Other access flags are not elements of a `CompoundElement` and thus not modeled by `AccessFlags` ; they provide their own `flagsMask` , `flags` , and `has` methods.
Since:
  24
See Also:
  - `ClassModel.flags()`
  - `FieldModel.flags()`
  - `MethodModel.flags()`
  - `ClassBuilder.withFlags(int)`
  - `FieldBuilder.withFlags(int)`
  - `MethodBuilder.withFlags(int)`

## Methods

- =
  public abstract java.util.Set<java.lang.reflect.AccessFlag> flags()
- =
  public abstract int flagsMask()
- =
  public abstract boolean has(java.lang.reflect.AccessFlag arg0)
- =
  public abstract java.lang.reflect.AccessFlag.Location location()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
AccessFlags |  |  |  |  |  |  | 2 |  |  | 2
Total |  |  |  |  |  |  | 2 |  |  | 2