W3cubDocs

/OpenJDK 25

Interface ModuleMainClassAttribute

All Superinterfaces:
Attribute<ModuleMainClassAttribute>, ClassElement, ClassFileElement
public sealed interface ModuleMainClassAttribute extends Attribute<ModuleMainClassAttribute>, ClassElement
Models the ModuleMainClass attribute (JVMS 4.7.27), which appears on classes that represent module descriptors to indicate the main class of the module.

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 9, major version 53.

See Java Virtual Machine Specification:
4.7.27 The ModuleMainClass Attribute
Since:
24
See Also:

Method Summary

Modifier and Type Method Description
ClassEntry mainClass()
Returns main class for this module.
static ModuleMainClassAttribute of(ClassEntry mainClass)
Returns a ModuleMainClass attribute.
static ModuleMainClassAttribute of(ClassDesc mainClass)
Returns a ModuleMainClass attribute.

Methods declared in interface Attribute

attributeMapper, attributeName

Method Details

mainClass

ClassEntry mainClass()
Returns main class for this module.
Returns:
main class for this module

of

static ModuleMainClassAttribute of(ClassEntry mainClass)
Returns a ModuleMainClass attribute.
Parameters:
mainClass - the main class
Returns:
a ModuleMainClass attribute

of

static ModuleMainClassAttribute of(ClassDesc mainClass)
Returns a ModuleMainClass attribute.
Parameters:
mainClass - the main class
Returns:
a ModuleMainClass attribute
Throws:
IllegalArgumentException - if mainClass represents a primitive type

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