Interface ModuleOpenInfo
public sealed interface ModuleOpenInfo
Models a single "opens" declaration in the
ModuleAttribute
.- API Note:
- Opening a package to another module allows that other module to gain
the same full privilege access as members in this module. See
MethodHandles.privateLookupIn(Class, MethodHandles.Lookup)
for more details. - 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 open declaration has the specified access flag set.static ModuleOpenInfo
of
(PackageEntry opens, int opensFlags, ModuleEntry... opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageEntry opens, int opensFlags, List<ModuleEntry> opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageEntry opens, Collection<AccessFlag> opensFlags, ModuleEntry... opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageEntry opens, Collection<AccessFlag> opensFlags, List<ModuleEntry> opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageDesc opens, int opensFlags, ModuleDesc... opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageDesc opens, int opensFlags, List<ModuleDesc> opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageDesc opens, Collection<AccessFlag> opensFlags, ModuleDesc... opensTo) Returns a module open description.static ModuleOpenInfo
of
(PackageDesc opens, Collection<AccessFlag> opensFlags, List<ModuleDesc> opensTo) Returns a module open description.Returns the package being opened.default Set
<AccessFlag> Returns the flags associated with this open declaration, as a set of flag enums.int
Returns the flags associated with this open declaration, as a bit mask.opensTo()
Returns the modules to which this package is opened, or empty if this is an unqualified open.
-
Method Details
-
openedPackage
PackageEntry openedPackage()Returns the package being opened.- Returns:
- the package being opened
- See Also:
-
opensFlagsMask
int opensFlagsMask()Returns the flags associated with this open declaration, as a bit mask.- Returns:
- the flags associated with this open declaration, as a bit mask
- See Also:
-
opensFlags
Returns the flags associated with this open declaration, as a set of flag enums.- Returns:
- the flags associated with this open declaration, as a set of flag enums
- Throws:
IllegalArgumentException
- if the flags mask has any undefined bit set- See Also:
-
has
Returns whether the open declaration has the specified access flag set.- Parameters:
flag
- the access flag- Returns:
- whether the open declaration has the specified access flag set
- See Also:
-
opensTo
List<ModuleEntry> opensTo()Returns the modules to which this package is opened, or empty if this is an unqualified open.- Returns:
- the modules to which this package is opened, or empty if this is an unqualified open
- See Also:
-
of
Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
-
of
static ModuleOpenInfo of(PackageEntry opens, Collection<AccessFlag> opensFlags, List<ModuleEntry> opensTo) Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_OPENS
location
-
of
Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
-
of
static ModuleOpenInfo of(PackageEntry opens, Collection<AccessFlag> opensFlags, ModuleEntry... opensTo) Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_OPENS
location
-
of
Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, if it is a qualified open, or empty- Returns:
- a module open description
-
of
static ModuleOpenInfo of(PackageDesc opens, Collection<AccessFlag> opensFlags, List<ModuleDesc> opensTo) Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the modules to which this package is opened, if it is a qualified open, or empty- Returns:
- a module open description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_OPENS
location
-
of
Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the packages to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
-
of
static ModuleOpenInfo of(PackageDesc opens, Collection<AccessFlag> opensFlags, ModuleDesc... opensTo) Returns a module open description.- Parameters:
opens
- the package to openopensFlags
- the open flagsopensTo
- the packages to which this package is opened, or empty if this is an unqualified open- Returns:
- a module open description
- Throws:
IllegalArgumentException
- if any flag cannot be applied to theAccessFlag.Location.MODULE_OPENS
location
-