# 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