Interface ModuleRequireInfo
public sealed interface ModuleRequireInfo
Models a single "requires" declaration in the
ModuleAttribute
.- See Java Virtual Machine Specification:
-
4.7.25 The
Module
Attribute - Since:
- 24
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
has
(AccessFlag flag) Returns whether the specific access flag is set.static ModuleRequireInfo
of
(ModuleEntry requires, int requiresFlags, Utf8Entry requiresVersion) Returns a module requirement description.static ModuleRequireInfo
of
(ModuleEntry requires, Collection<AccessFlag> requiresFlags, Utf8Entry requiresVersion) Returns a module requirement description.static ModuleRequireInfo
of
(ModuleDesc requires, int requiresFlags, String requiresVersion) Returns a module requirement description.static ModuleRequireInfo
of
(ModuleDesc requires, Collection<AccessFlag> requiresFlags, String requiresVersion) Returns a module requirement description.requires()
Returns The module on which the current module depends.default Set
<AccessFlag> Returns the flags associated with this require declaration, as a set of flag enums.int
Returns the flags associated with this require declaration, as a bit mask.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.- Returns:
- the flags associated with this require declaration, as a bit mask
- See Also:
-
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
-
has
Returns whether the specific access flag is set.- Parameters:
flag
- the access flag- Returns:
- whether the specific access flag is set
- See Also:
-
of
Returns a module requirement description.- Parameters:
requires
- the required modulerequiresFlags
- the require-specific flagsrequiresVersion
- the required version, may benull
- Returns:
- a module requirement description
-
of
static ModuleRequireInfo of(ModuleEntry requires, Collection<AccessFlag> requiresFlags, Utf8Entry requiresVersion) Returns a module requirement description.- Parameters:
requires
- the required modulerequiresFlags
- the require-specific flagsrequiresVersion
- the required version, may benull
- Returns:
- a module requirement description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_REQUIRES
location
-
of
Returns a module requirement description.- Parameters:
requires
- the required modulerequiresFlags
- the require-specific flagsrequiresVersion
- the required version, may benull
- Returns:
- a module requirement description
-
of
static ModuleRequireInfo of(ModuleDesc requires, Collection<AccessFlag> requiresFlags, String requiresVersion) Returns a module requirement description.- Parameters:
requires
- the required modulerequiresFlags
- the require-specific flagsrequiresVersion
- the required version, may benull
- Returns:
- a module requirement description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_REQUIRES
location
-