W3cubDocs

/OpenJDK 25

Interface AccessFlags

All Superinterfaces:
ClassElement, ClassFileElement, FieldElement, MethodElement
public sealed interface AccessFlags extends ClassElement, 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:

Method Summary

Modifier and Type Method Description
Set<AccessFlag> flags()
Returns the access flags, as a set of flag enums.
int flagsMask()
Returns the access flags, as a bit mask.
boolean has(AccessFlag flag)
Returns whether the specified flag is set.
AccessFlag.Location location()
Returns the class file location for this element, which is either class, method, or field.

Method Details

flagsMask

int flagsMask()
Returns the access flags, as a bit mask. It is in the range of unsigned short, [0, 0xFFFF].
Returns:
the access flags, as a bit mask

flags

Set<AccessFlag> flags()
Returns the access flags, as a set of flag enums.
Returns:
the access flags, as a set of flag enums
Throws:
IllegalArgumentException - if the flags mask has any undefined bit set
See Also:

has

boolean has(AccessFlag flag)
Returns whether the specified flag is set. If the specified flag is not available to this location, returns false.
Parameters:
flag - the flag to test
Returns:
whether the specified flag is set
See Also:

location

AccessFlag.Location location()
Returns the class file location for this element, which is either class, method, or field.
Returns:
the class file location for this element, which is either class, method, or field
See Also:

© 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/AccessFlags.html