Module java.base

Interface ModuleHashesAttribute

All Superinterfaces:
AttributePREVIEW<ModuleHashesAttributePREVIEW>, ClassElementPREVIEW, ClassFileElementPREVIEW, WritableElementPREVIEW<ModuleHashesAttributePREVIEW>

public sealed interface ModuleHashesAttribute extends AttributePREVIEW<ModuleHashesAttributePREVIEW>, ClassElementPREVIEW
ModuleHashesAttribute is a preview API of the Java platform.
Programs can only use ModuleHashesAttribute when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the ModuleHashes attribute, which can appear on classes that represent module descriptors. This is a JDK-specific attribute, which captures the hashes of a set of co-delivered modules. Delivered as a ClassElementPREVIEW when traversing the elements of a ClassModelPREVIEW.

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];


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.