Interface ModuleTargetAttribute

All Superinterfaces:
AttributePREVIEW<ModuleTargetAttributePREVIEW>, ClassElementPREVIEW, ClassFileElementPREVIEW, WritableElementPREVIEW<ModuleTargetAttributePREVIEW>

public sealed interface ModuleTargetAttribute extends AttributePREVIEW<ModuleTargetAttributePREVIEW>, ClassElementPREVIEW
ModuleTargetAttribute is a preview API of the Java platform.
Programs can only use ModuleTargetAttribute when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
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 ClassElementPREVIEW when traversing the elements of a ClassModelPREVIEW.

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:
22
  • Method Details

    • targetPlatform

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

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

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