Interface ModuleResolutionAttribute

All Superinterfaces:
Attribute<ModuleResolutionAttribute>, ClassElement, ClassFileElement

public sealed interface ModuleResolutionAttribute extends Attribute<ModuleResolutionAttribute>, ClassElement
Models the ModuleResolution attribute, which can appear on classes that represent module descriptors, to capture resolution metadata for modules.

The specification of the ModuleResolution attribute is:

 
  ModuleResolution_attribute {
    u2 attribute_name_index;    // "ModuleResolution"
    u4 attribute_length;        // 2
    u2 resolution_flags;

  The value of the resolution_flags item is a mask of flags used to denote
  properties of module resolution. The flags are as follows:

   // Optional
   0x0001 (DO_NOT_RESOLVE_BY_DEFAULT)

   // At most one of:
   0x0002 (WARN_DEPRECATED)
   0x0004 (WARN_DEPRECATED_FOR_REMOVAL)
   0x0008 (WARN_INCUBATING)
  }
  

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

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

    • resolutionFlags

      int resolutionFlags()
      Returns the module resolution flags.

      The value of the resolution_flags item is a mask of flags used to denote properties of module resolution. The flags are as follows:

       
         // Optional
         0x0001 (DO_NOT_RESOLVE_BY_DEFAULT)
      
         // At most one of:
         0x0002 (WARN_DEPRECATED)
         0x0004 (WARN_DEPRECATED_FOR_REMOVAL)
         0x0008 (WARN_INCUBATING)
         
      Returns:
      the module resolution flags
    • of

      static ModuleResolutionAttribute of(int resolutionFlags)
      Returns a ModuleResolution attribute.
      Parameters:
      resolutionFlags - the resolution flags
      Returns:
      a ModuleResolution attribute