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

# Interface NestHostAttribute

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

public sealed interface NestHostAttribute extends AttributePREVIEW<NestHostAttributePREVIEW>, ClassElementPREVIEW
`NestHostAttribute` is a preview API of the Java platform.
Programs can only use `NestHostAttribute` 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 `NestHost` attribute 4.7.28, which can appear on classes to indicate that this class is a member of a nest. 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
  `ClassEntryPREVIEW`
  `nestHost()`
  Returns the host class of the nest to which this class belongs.
  `static NestHostAttributePREVIEW`
  `of(ClassEntryPREVIEW nestHost)`
  Returns a `NestHost` attribute.
  `static NestHostAttributePREVIEW`
  `of(ClassDesc nestHost)`
  Returns a `NestHost` attribute.

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

  `attributeMapper, attributeName`

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

  `writeTo`

- ## Method Details

  - ### nestHost

    ClassEntryPREVIEW nestHost()
    Returns the host class of the nest to which this class belongs.
    Returns:
      the host class of the nest to which this class belongs

  - ### of

    static NestHostAttributePREVIEW of(ClassEntryPREVIEW nestHost)
    Returns a `NestHost` attribute.
    Parameters:
      `nestHost` - the host class of the nest
    Returns:
      a `NestHost` attribute

  - ### of

    static NestHostAttributePREVIEW of(ClassDesc nestHost)
    Returns a `NestHost` attribute.
    Parameters:
      `nestHost` - the host class of the nest
    Returns:
      a `NestHost` attribute
    Throws:
      `IllegalArgumentException` - if `nestHost` represents a primitive type