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 can appear on classes that represent module descriptors. Delivered as a ClassElement when traversing the elements of a ClassModel.

The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.

The attribute was introduced in the Java SE Platform version 9.

Since:
24
  • 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