Interface ModuleHashesAttribute

All Superinterfaces:
Attribute<ModuleHashesAttribute>, ClassElement, ClassFileElement

public sealed interface ModuleHashesAttribute extends Attribute<ModuleHashesAttribute>, ClassElement
Models the ModuleHashes attribute, which appears on classes that represent module descriptors to capture the hashes of a set of co-delivered modules.

The specification of the ModuleHashes attribute is:

 

 ModuleHashes_attribute {
   // index to CONSTANT_utf8_info structure in constant pool representing
   // the string "ModuleHashes"
   u2 attribute_name_index;
   u4 attribute_length;

   // index to CONSTANT_utf8_info structure with algorithm name
   u2 algorithm_index;

   // the number of entries in the hashes table
   u2 hashes_count;
   {   u2 module_name_index (index to CONSTANT_Module_info structure)
       u2 hash_length;
       u1 hash[hash_length];
   } hashes[hashes_count];

 }
  

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

    • algorithm

      Utf8Entry algorithm()
      Returns the algorithm name used to compute the hash.
      Returns:
      the algorithm name used to compute the hash
    • hashes

      List<ModuleHashInfo> hashes()
      Returns the hash information about related modules.
      Returns:
      the hash information about related modules
    • of

      static ModuleHashesAttribute of(String algorithm, List<ModuleHashInfo> hashes)
      Returns a ModuleHashes attribute.
      Parameters:
      algorithm - the hashing algorithm
      hashes - the hash descriptions
      Returns:
      a ModuleHashes attribute
    • of

      static ModuleHashesAttribute of(String algorithm, ModuleHashInfo... hashes)
      Returns a ModuleHashes attribute.
      Parameters:
      algorithm - the hashing algorithm
      hashes - the hash descriptions
      Returns:
      a ModuleHashes attribute
    • of

      static ModuleHashesAttribute of(Utf8Entry algorithm, List<ModuleHashInfo> hashes)
      Returns a ModuleHashes attribute.
      Parameters:
      algorithm - the hashing algorithm
      hashes - the hash descriptions
      Returns:
      a ModuleHashes attribute
    • of

      static ModuleHashesAttribute of(Utf8Entry algorithm, ModuleHashInfo... hashes)
      Returns a ModuleHashes attribute.
      Parameters:
      algorithm - the hashing algorithm
      hashes - the hash descriptions
      Returns:
      a ModuleHashes attribute