- All Superinterfaces:
Attribute<ModuleTargetAttribute>,ClassElement,ClassFileElement,WritableElement<ModuleTargetAttribute>
- All Known Implementing Classes:
BoundAttribute.BoundModuleTargetAttribute,UnboundAttribute.UnboundModuleTargetAttribute
public sealed interface ModuleTargetAttribute
extends Attribute<ModuleTargetAttribute>, ClassElement
permits BoundAttribute.BoundModuleTargetAttribute, UnboundAttribute.UnboundModuleTargetAttribute
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:
- 22
-
Method Summary
Modifier and TypeMethodDescriptionstatic ModuleTargetAttributeReturns aModuleTargetattribute.static ModuleTargetAttributeReturns aModuleTargetattribute.Returns the target platform.Methods inherited from interface org.glavo.classfile.Attribute
attributeMapper, attributeNameMethods inherited from interface org.glavo.classfile.WritableElement
writeTo
-
Method Details
-
targetPlatform
Utf8Entry targetPlatform()Returns the target platform.- Returns:
- the target platform
-
of
Returns aModuleTargetattribute.- Parameters:
targetPlatform- the target platform- Returns:
- a
ModuleTargetattribute
-
of
Returns aModuleTargetattribute.- Parameters:
targetPlatform- the target platform- Returns:
- a
ModuleTargetattribute
-