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, to represent constraints on the target platform.

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;
 }
  

This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.

This attribute is not predefined in the Java SE Platform. This is a JDK-specific nonstandard attribute produced by the jdk.jlink module, which defines the jlink and jmod tools.

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