Interface ModuleTargetAttribute

All Superinterfaces:
Attribute<ModuleTargetAttribute>, ClassElement, ClassFileElement

public sealed interface ModuleTargetAttribute extends Attribute<ModuleTargetAttribute>, ClassElement
Models the ModuleTarget attribute, which can appear on classes that represent module descriptors. This is a JDK-specific attribute, which captures constraints on the target platform. Delivered as a ClassElement when traversing the elements of a ClassModel.

The specification of the ModuleTarget attribute is:

 
 TargetPlatform_attribute {
   // index to CONSTANT_utf8_info structure in constant pool representing
   // the string "ModuleTarget"
   u2 attribute_name_index;
   u4 attribute_length;

   // index to CONSTANT_utf8_info structure with the target platform
   u2 target_platform_index;
 }
  

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.

Since:
24
  • Method Details

    • targetPlatform

      Utf8Entry targetPlatform()
      Returns the target platform.
      Returns:
      the target platform
    • of

      static ModuleTargetAttribute of(String targetPlatform)
      Returns a ModuleTarget attribute.
      Parameters:
      targetPlatform - the target platform
      Returns:
      a ModuleTarget attribute
    • of

      static ModuleTargetAttribute of(Utf8Entry targetPlatform)
      Returns a ModuleTarget attribute.
      Parameters:
      targetPlatform - the target platform
      Returns:
      a ModuleTarget attribute