# 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:
  - `Attributes.moduleTarget()`
  - `ModuleHashesAttribute`
  - `ModuleResolutionAttribute`

## Method Summary

Modifier and Type
Method
Description
`static ModuleTargetAttribute`
`of(Utf8Entry targetPlatform)`
Returns a `ModuleTarget` attribute.
`static ModuleTargetAttribute`
`of(String targetPlatform)`
Returns a `ModuleTarget` attribute.
`Utf8Entry`
`targetPlatform()`
Returns the target platform.

### Methods declared in interface java.lang.classfile.Attribute

`attributeMapper, attributeName`

## 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