TypeAnnotation.TargetType (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile, interface: TypeAnnotation, enum: TargetType
Keywords: java.lang.classfile.TypeAnnotation.TargetType class

# Enum Class TypeAnnotation.TargetType

java.lang.Object
java.lang.Enum<TypeAnnotation.TargetType>
java.lang.classfile.TypeAnnotation.TargetType

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

Enclosing interface:
  `TypeAnnotation`

public static enum TypeAnnotation.TargetType extends Enum<TypeAnnotation.TargetType>
The kind of target on which the annotation appears, as defined in JVMS 4.7.20.1.

Since:
  24
See Also:
  - `TypeAnnotation.TargetInfo.targetType()`

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Enum

  `Enum.EnumDesc<E>`
  Modifier and Type
  Class
  Description
  `static final class`
  `Enum.EnumDesc<E extends Enum<E>>`
  A nominal descriptor for an `enum` constant.

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `CAST`
  For annotations on a typecast.
  `CLASS_EXTENDS`
  For annotations on the type of an "extends" or "implements" clause.
  `CLASS_TYPE_PARAMETER`
  For annotations on a class type parameter declaration.
  `CLASS_TYPE_PARAMETER_BOUND`
  For annotations on a bound of a type parameter of a class.
  `CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT`
  For annotations on a type argument of an object creation expression.
  `CONSTRUCTOR_REFERENCE`
  For annotations on a constructor reference receiver.
  `CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT`
  For annotations on a type argument of a constructor reference.
  `EXCEPTION_PARAMETER`
  For annotations on an exception parameter.
  `FIELD`
  For annotations on a field.
  `INSTANCEOF`
  For annotations on a type test.
  `LOCAL_VARIABLE`
  For annotations on a local variable.
  `METHOD_FORMAL_PARAMETER`
  For annotations on a method parameter.
  `METHOD_INVOCATION_TYPE_ARGUMENT`
  For annotations on a type argument of a method call.
  `METHOD_RECEIVER`
  For annotations on the method receiver.
  `METHOD_REFERENCE`
  For annotations on a method reference receiver.
  `METHOD_REFERENCE_TYPE_ARGUMENT`
  For annotations on a type argument of a method reference.
  `METHOD_RETURN`
  For annotations on a method return type.
  `METHOD_TYPE_PARAMETER`
  For annotations on a method type parameter declaration.
  `METHOD_TYPE_PARAMETER_BOUND`
  For annotations on a bound of a type parameter of a method.
  `NEW`
  For annotations on an object creation expression.
  `RESOURCE_VARIABLE`
  For annotations on a resource variable.
  `THROWS`
  For annotations on a throws clause in a method declaration.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `sizeIfFixed()`
  Returns the size of the target type if fixed or -1 if variable.
  `int`
  `targetTypeValue()`
  Returns the target type value.
  `static TypeAnnotation.TargetType`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TypeAnnotation.TargetType[]`
  `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`
  Modifier and Type
  Method
  Description
  `protected final Object`
  `clone()`
  Throws CloneNotSupportedException.
  `final int`
  `compareTo(TypeAnnotation.TargetType o)`
  Compares this enum with the specified object for order.
  `final Optional<Enum.EnumDesc<TypeAnnotation.TargetType>>`
  `describeConstable()`
  Returns an enum descriptor `EnumDesc` for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  `final boolean`
  `equals(Object other)`
  Returns true if the specified object is equal to this enum constant.
  `protected final void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization has been deprecated for removal.
  `final Class<TypeAnnotation.TargetType>`
  `getDeclaringClass()`
  Returns the Class object corresponding to this enum constant's enum type.
  `final int`
  `hashCode()`
  Returns a hash code for this enum constant.
  `final String`
  `name()`
  Returns the name of this enum constant, exactly as declared in its enum declaration.
  `final int`
  `ordinal()`
  Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
  `String`
  `toString()`
  Returns the name of this enum constant, as contained in the declaration.
  `static <T extends Enum<T>>
  T`
  `valueOf(Class<T> enumClass, String name)`
  Returns the enum constant of the specified enum class with the specified name.

  ### Methods declared in class Object

  `getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Enum Constant Details

  - ### CLASS_TYPE_PARAMETER

    public static final TypeAnnotation.TargetType CLASS_TYPE_PARAMETER
    For annotations on a class type parameter declaration.

  - ### METHOD_TYPE_PARAMETER

    public static final TypeAnnotation.TargetType METHOD_TYPE_PARAMETER
    For annotations on a method type parameter declaration.

  - ### CLASS_EXTENDS

    public static final TypeAnnotation.TargetType CLASS_EXTENDS
    For annotations on the type of an "extends" or "implements" clause.

  - ### CLASS_TYPE_PARAMETER_BOUND

    public static final TypeAnnotation.TargetType CLASS_TYPE_PARAMETER_BOUND
    For annotations on a bound of a type parameter of a class.

  - ### METHOD_TYPE_PARAMETER_BOUND

    public static final TypeAnnotation.TargetType METHOD_TYPE_PARAMETER_BOUND
    For annotations on a bound of a type parameter of a method.

  - ### FIELD

    public static final TypeAnnotation.TargetType FIELD
    For annotations on a field.

  - ### METHOD_RETURN

    public static final TypeAnnotation.TargetType METHOD_RETURN
    For annotations on a method return type.

  - ### METHOD_RECEIVER

    public static final TypeAnnotation.TargetType METHOD_RECEIVER
    For annotations on the method receiver.

  - ### METHOD_FORMAL_PARAMETER

    public static final TypeAnnotation.TargetType METHOD_FORMAL_PARAMETER
    For annotations on a method parameter.

  - ### THROWS

    public static final TypeAnnotation.TargetType THROWS
    For annotations on a throws clause in a method declaration.

  - ### LOCAL_VARIABLE

    public static final TypeAnnotation.TargetType LOCAL_VARIABLE
    For annotations on a local variable.

  - ### RESOURCE_VARIABLE

    public static final TypeAnnotation.TargetType RESOURCE_VARIABLE
    For annotations on a resource variable.

  - ### EXCEPTION_PARAMETER

    public static final TypeAnnotation.TargetType EXCEPTION_PARAMETER
    For annotations on an exception parameter.

  - ### INSTANCEOF

    public static final TypeAnnotation.TargetType INSTANCEOF
    For annotations on a type test.

  - ### NEW

    public static final TypeAnnotation.TargetType NEW
    For annotations on an object creation expression.

  - ### CONSTRUCTOR_REFERENCE

    public static final TypeAnnotation.TargetType CONSTRUCTOR_REFERENCE
    For annotations on a constructor reference receiver.

  - ### METHOD_REFERENCE

    public static final TypeAnnotation.TargetType METHOD_REFERENCE
    For annotations on a method reference receiver.

  - ### CAST

    public static final TypeAnnotation.TargetType CAST
    For annotations on a typecast.

  - ### CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT

    public static final TypeAnnotation.TargetType CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
    For annotations on a type argument of an object creation expression.

  - ### METHOD_INVOCATION_TYPE_ARGUMENT

    public static final TypeAnnotation.TargetType METHOD_INVOCATION_TYPE_ARGUMENT
    For annotations on a type argument of a method call.

  - ### CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT

    public static final TypeAnnotation.TargetType CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
    For annotations on a type argument of a constructor reference.

  - ### METHOD_REFERENCE_TYPE_ARGUMENT

    public static final TypeAnnotation.TargetType METHOD_REFERENCE_TYPE_ARGUMENT
    For annotations on a type argument of a method reference.

- ## Method Details

  - ### values

    public static TypeAnnotation.TargetType[] 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.TargetType 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

  - ### targetTypeValue

    public int targetTypeValue()
    Returns the target type value.
    API Note:
      `TARGET_`-prefixed constants in `TypeAnnotation.TargetInfo`, such as `TypeAnnotation.TargetInfo.TARGET_CLASS_TYPE_PARAMETER`, describe the possible return values of this method.
    Returns:
      the target type value

  - ### sizeIfFixed

    public int sizeIfFixed()
    Returns the size of the target type if fixed or -1 if variable.
    Returns:
      the size of the target type if fixed or -1 if variable