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
ModuleAttribute
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
default boolean |
has |
Returns whether the open declaration has the specified access flag set. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
static ModuleOpenInfo |
of |
Returns a module open description. |
PackageEntry |
openedPackage() |
Returns the package being opened. |
default Set |
opensFlags() |
Returns the flags associated with this open declaration, as a set of flag enums. |
int |
opensFlagsMask() |
Returns the flags associated with this open declaration, as a bit mask. |
List |
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. It is in the range of unsigned short,
[0, 0xFFFF].- Returns:
- the flags associated with this open declaration, as a bit mask
- See Also:
opensFlags
default Set<AccessFlag> 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
default boolean has(AccessFlag flag)
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
static ModuleOpenInfo of(PackageEntry opens, int opensFlags, List<ModuleEntry> opensTo)
Returns a module open description.
- Parameters:
-
opens- the package to open -
opensFlags- the open flags -
opensTo- 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 open -
opensFlags- the open flags -
opensTo- 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_OPENSlocation
of
static ModuleOpenInfo of(PackageEntry opens, int opensFlags, ModuleEntry... opensTo)
Returns a module open description.
- Parameters:
-
opens- the package to open -
opensFlags- the open flags -
opensTo- 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 open -
opensFlags- the open flags -
opensTo- 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_OPENSlocation
of
static ModuleOpenInfo of(PackageDesc opens, int opensFlags, List<ModuleDesc> opensTo)
Returns a module open description.
- Parameters:
-
opens- the package to open -
opensFlags- the open flags -
opensTo- 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 open -
opensFlags- the open flags -
opensTo- 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_OPENSlocation
of
static ModuleOpenInfo of(PackageDesc opens, int opensFlags, ModuleDesc... opensTo)
Returns a module open description.
- Parameters:
-
opens- the package to open -
opensFlags- the open flags -
opensTo- 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 open -
opensFlags- the open flags -
opensTo- 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_OPENSlocation
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/attribute/ModuleOpenInfo.html