Interface ModuleRequireInfo
public sealed interface ModuleRequireInfo
Models a single "requires" declaration in the
ModuleAttribute.- See Java Virtual Machine Specification:
- 4.7.25 The
ModuleAttribute
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
default boolean |
has |
Returns whether the specific access flag is set. |
static ModuleRequireInfo |
of |
Returns a module requirement description. |
static ModuleRequireInfo |
of |
Returns a module requirement description. |
static ModuleRequireInfo |
of |
Returns a module requirement description. |
static ModuleRequireInfo |
of |
Returns a module requirement description. |
ModuleEntry |
requires() |
Returns The module on which the current module depends. |
default Set |
requiresFlags() |
Returns the flags associated with this require declaration, as a set of flag enums. |
int |
requiresFlagsMask() |
Returns the flags associated with this require declaration, as a bit mask. |
Optional |
requiresVersion() |
Returns the required version of the required module, if present. |
Method Details
requires
ModuleEntry requires()
Returns The module on which the current module depends.
- Returns:
- The module on which the current module depends
requiresFlagsMask
int requiresFlagsMask()
Returns the flags associated with this require declaration, as a bit mask. It is a
u2 value.- Returns:
- the flags associated with this require declaration, as a bit mask
- See Also:
requiresFlags
default Set<AccessFlag> requiresFlags()
Returns the flags associated with this require declaration, as a set of flag enums.
- Returns:
- the flags associated with this require declaration, as a set of flag enums
- Throws:
-
IllegalArgumentException- if the flags mask has any undefined bit set - See Also:
requiresVersion
Optional<Utf8Entry> requiresVersion()
Returns the required version of the required module, if present.
- Returns:
- the required version of the required module, if present
- See Also:
has
default boolean has(AccessFlag flag)
Returns whether the specific access flag is set.
- Parameters:
-
flag- the access flag - Returns:
- whether the specific access flag is set
- See Also:
of
static ModuleRequireInfo of(ModuleEntry requires, int requiresFlags, Utf8Entry requiresVersion)
Returns a module requirement description.
- Parameters:
-
requires- the required module -
requiresFlags- the require-specific flags -
requiresVersion- the required version, may benull - Returns:
- a module requirement description
- Throws:
-
IllegalArgumentException- ifrequiresFlagsis notu2
of
static ModuleRequireInfo of(ModuleEntry requires, Collection<AccessFlag> requiresFlags, Utf8Entry requiresVersion)
Returns a module requirement description.
- Parameters:
-
requires- the required module -
requiresFlags- the require-specific flags -
requiresVersion- the required version, may benull - Returns:
- a module requirement description
- Throws:
-
IllegalArgumentException- if any flag cannot be applied to theAccessFlag.Location.MODULE_REQUIRESlocation
of
static ModuleRequireInfo of(ModuleDesc requires, int requiresFlags, String requiresVersion)
Returns a module requirement description.
- Parameters:
-
requires- the required module -
requiresFlags- the require-specific flags -
requiresVersion- the required version, may benull - Returns:
- a module requirement description
- Throws:
-
IllegalArgumentException- ifrequiresFlagsis notu2
of
static ModuleRequireInfo of(ModuleDesc requires, Collection<AccessFlag> requiresFlags, String requiresVersion)
Returns a module requirement description.
- Parameters:
-
requires- the required module -
requiresFlags- the require-specific flags -
requiresVersion- the required version, may benull - Returns:
- a module requirement description
- Throws:
-
IllegalArgumentException- if any flag cannot be applied to theAccessFlag.Location.MODULE_REQUIRESlocation
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.