# Interface ModuleDesc

public sealed interface ModuleDesc
A nominal descriptor for a `Module` constant.

To create a `ModuleDesc` for a module, use the `of(String)` method.

See Java Virtual Machine Specification:
  4.4.11 The CONSTANT_Module_info Structure
Since:
  21

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
Compare the specified object with this descriptor for equality.
`String`
`name()`
Returns the module name of this `ModuleDesc`.
`static ModuleDesc`
`of(String name)`
Returns a `ModuleDesc` for a module, given the name of the module.

## Method Details

### of

static ModuleDesc of(String name)
Returns a `ModuleDesc` for a module, given the name of the module.

Parameters:
  `name` - the module name
Returns:
  a `ModuleDesc` describing the desired module
Throws:
  `NullPointerException` - if the argument is `null`
  `IllegalArgumentException` - if the name string is not in the correct format
See Java Virtual Machine Specification:
  4.2.3 Module and Package Names

### name

String name()
Returns the module name of this `ModuleDesc`.

Returns:
  the module name

### equals

boolean equals(Object o)
Compare the specified object with this descriptor for equality. Returns `true` if and only if the specified object is also a `ModuleDesc` and both describe the same module.

Overrides:
  `equals` in class `Object`
Parameters:
  `o` - the other object
Returns:
  whether this descriptor is equal to the other object
See Also:
  - `Object.hashCode()`
  - `HashMap`