NestHostAttribute (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile.attribute, interface: NestHostAttribute
Keywords: java.lang.classfile.attribute.NestHostAttribute interface

# Interface NestHostAttribute

All Superinterfaces:
  `Attribute<NestHostAttribute>, ClassElement, ClassFileElement`

public sealed interface NestHostAttribute extends Attribute<NestHostAttribute>, ClassElement
Models the `NestHost` attribute (JVMS 4.7.28), which indicates this class is a member of a nest and the host class of the nest.

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 11, major version 55.

See Java Virtual Machine Specification:
  4.7.28 The `NestHost` Attribute
Since:
  24
See Also:
  - `Attributes.nestHost()`
  - `NestMembersAttribute`
  - `Class.getNestHost()`
  - `Class.isNestmateOf(Class)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ClassEntry`
  `nestHost()`
  Returns the host class of the nest to which this class belongs.
  `static NestHostAttribute`
  `of(ClassEntry nestHost)`
  Returns a `NestHost` attribute.
  `static NestHostAttribute`
  `of(ClassDesc nestHost)`
  Returns a `NestHost` attribute.

  ### Methods declared in interface Attribute

  `attributeMapper, attributeName`

- ## Method Details

  - ### nestHost

    ClassEntry 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
    See Also:
      - `Class.getNestHost()`

  - ### of

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

  - ### of

    static NestHostAttribute 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