# Interface ModuleEntry

All Superinterfaces:
  `PoolEntry`

public sealed interface ModuleEntry extends PoolEntry
Models a `CONSTANT_Module_info` structure, denoting a module, in the constant pool of a `class` file.

The use of a `ModuleEntry` is modeled by a `ModuleDesc`. Conversions are through `ConstantPoolBuilder.moduleEntry(ModuleDesc)` and `asSymbol()`.

A module entry is composite:

    ModuleEntry(Utf8Entry name)

where `name` is a module name.

See Java Virtual Machine Specification:
  4.4.11 The `CONSTANT_Module_info` Structure
Since:
  24

## Field Summary

### Fields declared in interface PoolEntry

`TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8`

## Method Summary

Modifier and Type
Method
Description
`ModuleDesc`
`asSymbol()`
Returns a symbolic descriptor for the module name.
`boolean`
`matches(ModuleDesc desc)`
Returns whether this entry describes the given module.
`Utf8Entry`
`name()`
Returns the name of the module.

### Methods declared in interface PoolEntry

`constantPool, index, tag, width`

## Method Details

### name

Utf8Entry name()
Returns the name of the module.

Returns:
  the name of the module

### asSymbol

ModuleDesc asSymbol()
Returns a symbolic descriptor for the module name.

API Note:
  If only symbol equivalence is desired, `matches` should be used. It requires reduced parsing and can improve `class` file reading performance.
Returns:
  a symbolic descriptor for the module name

### matches

boolean matches(ModuleDesc desc)
Returns whether this entry describes the given module.

Parameters:
  `desc` - the module descriptor
Returns:
  whether this entry describes the given module
Since:
  25