Module java.base
Package java.lang.classfile.attribute

# Interface ModuleTargetAttribute

≠
public abstract sealed interface ModuleTargetAttribute
extends java.lang.classfile.Attribute<java.lang.classfile.attribute.ModuleTargetAttribute>, java.lang.classfile.ClassElement
permits jdk.internal.classfile.impl.BoundAttribute.BoundModuleTargetAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundModuleTargetAttribute
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `AttributePREVIEW <ModuleTargetAttribute>, ClassElementPREVIEW , ClassFileElement`

public sealed interface ModuleTargetAttribute extends AttributePREVIEW <ModuleTargetAttribute>, ClassElementPREVIEW
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:
  - `Attributes.moduleTarget()`
  - `ModuleHashesAttribute`
  - `ModuleResolutionAttribute`

## Methods

- =
  public static java.lang.classfile.attribute.ModuleTargetAttribute of(java.lang.String arg0)
- =
  public static java.lang.classfile.attribute.ModuleTargetAttribute of(java.lang.classfile.constantpool.Utf8Entry arg0)
- =
  public abstract java.lang.classfile.constantpool.Utf8Entry targetPlatform()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
ModuleTargetAttribute |  |  |  |  |  |  | 4 |  |  | 4
Total |  |  |  |  |  |  | 4 |  |  | 4