# Enum Class TypeAnnotation.TypePathComponent.Kind

java.lang.Object
java.lang.Enum<TypeAnnotation.TypePathComponent.Kind>
java.lang.classfile.TypeAnnotation.TypePathComponent.Kind

All Implemented Interfaces:
  `Serializable, Comparable<TypeAnnotation.TypePathComponent.Kind>, Constable`

Enclosing interface:
  `TypeAnnotation.TypePathComponent`

public static enum TypeAnnotation.TypePathComponent.Kind extends Enum<TypeAnnotation.TypePathComponent.Kind>
Type path kind, as defined in JVMS 4.7.20.2

Since:
  24

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ARRAY`
  Annotation is deeper in an array type
  `INNER_TYPE`
  Annotation is deeper in a nested type
  `TYPE_ARGUMENT`
  Annotation is on a type argument of a parameterized type
  `WILDCARD`
  Annotation is on the bound of a wildcard type argument of a parameterized type

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `tag()`
  Returns the type path kind value.
  `static TypeAnnotation.TypePathComponent.Kind`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TypeAnnotation.TypePathComponent.Kind[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods declared in class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods declared in class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### ARRAY

    public static final TypeAnnotation.TypePathComponent.Kind ARRAY
    Annotation is deeper in an array type

  - ### INNER_TYPE

    public static final TypeAnnotation.TypePathComponent.Kind INNER_TYPE
    Annotation is deeper in a nested type

  - ### WILDCARD

    public static final TypeAnnotation.TypePathComponent.Kind WILDCARD
    Annotation is on the bound of a wildcard type argument of a parameterized type

  - ### TYPE_ARGUMENT

    public static final TypeAnnotation.TypePathComponent.Kind TYPE_ARGUMENT
    Annotation is on a type argument of a parameterized type

- ## Method Details

  - ### values

    public static TypeAnnotation.TypePathComponent.Kind[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static TypeAnnotation.TypePathComponent.Kind valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### tag

    public int tag()
    Returns the type path kind value.
    Returns:
      the type path kind value