# 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>`

- ## 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`

  ### Methods declared in class Object

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

- ## 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