Interface ModulePackagesAttribute
- All Superinterfaces:
Attribute<ModulePackagesAttribute>, ClassElement, ClassFileElement
public sealed interface ModulePackagesAttribute extends Attribute<ModulePackagesAttribute>, ClassElement
Models the
ModulePackages attribute (JVMS §4.7.26), which can appear on classes that represent module descriptors to indicate packages in the module used by the module descriptor. This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.
The attribute was introduced in the Java SE Platform version 9, major version 53.
- See Java Virtual Machine Specification:
- 4.7.26 The
ModulePackagesAttribute
- Since:
- 24
- See Also:
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
static ModulePackagesAttribute |
of |
Returns a ModulePackages attribute. |
static ModulePackagesAttribute |
of |
Returns a ModulePackages attribute. |
static ModulePackagesAttribute |
ofNames |
Returns a ModulePackages attribute. |
static ModulePackagesAttribute |
ofNames |
Returns a ModulePackages attribute. |
List |
packages() |
Returns the packages used by the module descriptor. |
Methods declared in interface Attribute
attributeMapper, attributeName | Modifier and Type | Method | Description |
|---|---|---|
AttributeMapper |
attributeMapper() |
Returns the AttributeMapper associated with this attribute. |
Utf8Entry |
attributeName() |
Returns the name of the attribute. |
Method Details
packages
List<PackageEntry> packages()
Returns the packages used by the module descriptor. This must include all packages opened or exported by the module, as well as the packages of any service providers, and the package for the main class.
- Returns:
- the packages used by the module descriptor
of
static ModulePackagesAttribute of(List<PackageEntry> packages)
Returns a
ModulePackages attribute.- Parameters:
-
packages- the packages - Returns:
- a
ModulePackagesattribute - Throws:
-
IllegalArgumentException- if the number of packages exceeds the limit ofu2
of
static ModulePackagesAttribute of(PackageEntry... packages)
Returns a
ModulePackages attribute.- Parameters:
-
packages- the packages - Returns:
- a
ModulePackagesattribute - Throws:
-
IllegalArgumentException- if the number of packages exceeds the limit ofu2
ofNames
static ModulePackagesAttribute ofNames(List<PackageDesc> packages)
Returns a
ModulePackages attribute.- Parameters:
-
packages- the packages - Returns:
- a
ModulePackagesattribute - Throws:
-
IllegalArgumentException- if the number of packages exceeds the limit ofu2
ofNames
static ModulePackagesAttribute ofNames(PackageDesc... packages)
Returns a
ModulePackages attribute.- Parameters:
-
packages- the packages - Returns:
- a
ModulePackagesattribute - Throws:
-
IllegalArgumentException- if the number of packages exceeds the limit ofu2
© 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.