Module java.base
Package java.lang.classfile.attributePREVIEW

# Interface ModulePackagesAttribute

All Superinterfaces:
  `AttributePREVIEW<ModulePackagesAttributePREVIEW>`, `ClassElementPREVIEW`, `ClassFileElementPREVIEW`, `WritableElementPREVIEW<ModulePackagesAttributePREVIEW>`

public sealed interface ModulePackagesAttribute extends AttributePREVIEW<ModulePackagesAttributePREVIEW>, ClassElementPREVIEW
`ModulePackagesAttribute` is a preview API of the Java platform.
Programs can only use `ModulePackagesAttribute` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
Models the `ModulePackages` attribute 4.7.26, which can appear on classes that represent module descriptors. Delivered as a `ClassElement`PREVIEW when traversing the elements of a `ClassModel`PREVIEW.

The attribute does not permit multiple instances in a given location. Subsequent occurrence of the attribute takes precedence during the attributed element build or transformation.

Since:
  22

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static ModulePackagesAttributePREVIEW`
  `of(PackageEntryPREVIEW... packages)`
  Returns a `ModulePackages` attribute.
  `static ModulePackagesAttributePREVIEW`
  `of(List<PackageEntryPREVIEW> packages)`
  Returns a `ModulePackages` attribute.
  `static ModulePackagesAttributePREVIEW`
  `ofNames(PackageDesc... packages)`
  Returns a `ModulePackages` attribute.
  `static ModulePackagesAttributePREVIEW`
  `ofNames(List<PackageDesc> packages)`
  Returns a `ModulePackages` attribute.
  `List<PackageEntryPREVIEW>`
  `packages()`
  Returns the packages that are opened or exported by this module.

  ### Methods declared in interface java.lang.classfile.AttributePREVIEW

  `attributeMapper, attributeName`

  ### Methods declared in interface java.lang.classfile.WritableElementPREVIEW

  `writeTo`

- ## Method Details

  - ### packages

    List<PackageEntryPREVIEW> packages()
    Returns the packages that are opened or exported by this module.
    Returns:
      the packages that are opened or exported by this module

  - ### of

    static ModulePackagesAttributePREVIEW of(List<PackageEntryPREVIEW> packages)
    Returns a `ModulePackages` attribute.
    Parameters:
      `packages` - the packages
    Returns:
      a `ModulePackages` attribute

  - ### of

    static ModulePackagesAttributePREVIEW of(PackageEntryPREVIEW... packages)
    Returns a `ModulePackages` attribute.
    Parameters:
      `packages` - the packages
    Returns:
      a `ModulePackages` attribute

  - ### ofNames

    static ModulePackagesAttributePREVIEW ofNames(List<PackageDesc> packages)
    Returns a `ModulePackages` attribute.
    Parameters:
      `packages` - the packages
    Returns:
      a `ModulePackages` attribute

  - ### ofNames

    static ModulePackagesAttributePREVIEW ofNames(PackageDesc... packages)
    Returns a `ModulePackages` attribute.
    Parameters:
      `packages` - the packages
    Returns:
      a `ModulePackages` attribute