Package org.eclipse.jdt.core.util

## Interface IAnnotationComponentValue

    public interface IAnnotationComponentValue

Description of an annotation component value as described in the JVM specifications (added in J2SE 1.5). This interface may be implemented by clients.

Since:
  3.1

### Field Summary

Fields
`static int` `ANNOTATION_TAG` Tag value for a value that represents an annotation
`static int` `ARRAY_TAG` Tag value for a value that represents an array
`static int` `BOOLEAN_TAG` Tag value for a constant of type `boolean`
`static int` `BYTE_TAG` Tag value for a constant of type `byte`
`static int` `CHAR_TAG` Tag value for a constant of type `char`
`static int` `CLASS_TAG` Tag value for a value that represents a class
`static int` `DOUBLE_TAG` Tag value for a constant of type `double`
`static int` `ENUM_TAG` Tag value for a value that represents an enum constant
`static int` `FLOAT_TAG` Tag value for a constant of type `float`
`static int` `INTEGER_TAG` Tag value for a constant of type `int`
`static int` `LONG_TAG` Tag value for a constant of type `long`
`static int` `SHORT_TAG` Tag value for a constant of type `short`
`static int` `STRING_TAG` Tag value for a constant of type `java.lang.String`

### Method Summary

All Methods Instance Methods Abstract Methods
`IAnnotationComponentValue[]` `getAnnotationComponentValues()` Returns the annotation component values as described in the JVM specifications if the tag item is '['.
`IAnnotation` `getAnnotationValue()` Returns the annotation value as described in the JVM specifications if the tag item is '@'.
`IConstantPoolEntry` `getClassInfo()` Returns the class info as described in the JVM specifications if the tag item is 'c'.
`int` `getClassInfoIndex()` Returns the class info index as described in the JVM specifications if the tag item is 'c'.
`IConstantPoolEntry` `getConstantValue()` Returns the constant value as described in the JVM specifications if the tag item is one of 'B', 'C', 'D', 'F', 'I', 'J', 'S', 'Z', or 's'.
`int` `getConstantValueIndex()` Returns the constant value index as described in the JVM specifications if the tag item is one of 'B', 'C', 'D', 'F', 'I', 'J', 'S', 'Z', or 's'.
`char[]` `getEnumConstantName()` Returns the simple name of the enum constant represented by this annotation component value as described in the JVM specifications if the tag item is 'e'.
`int` `getEnumConstantNameIndex()` Returns the utf8 constant index as described in the JVM specifications if the tag item is 'e'.
`char[]` `getEnumConstantTypeName()` Returns the binary name of the type of the enum constant represented by this annotation component value as described in the JVM specifications if the tag item is 'e'.
`int` `getEnumConstantTypeNameIndex()` Returns the utf8 constant index as described in the JVM specifications if the tag item is 'e'.
`int` `getTag()` Returns the tag as described in the JVM specifications.
`int` `getValuesNumber()` Returns the number of values as described in the JVM specifications if the tag item is '['.

### Field Detail

#### BYTE_TAG

    static final int BYTE_TAG

Tag value for a constant of type `byte`

Since:
  3.1
See Also:
  Constant Field Values

#### CHAR_TAG

    static final int CHAR_TAG

Tag value for a constant of type `char`

Since:
  3.1
See Also:
  Constant Field Values

#### DOUBLE_TAG

    static final int DOUBLE_TAG

Tag value for a constant of type `double`

Since:
  3.1
See Also:
  Constant Field Values

#### FLOAT_TAG

    static final int FLOAT_TAG

Tag value for a constant of type `float`

Since:
  3.1
See Also:
  Constant Field Values

#### INTEGER_TAG

    static final int INTEGER_TAG

Tag value for a constant of type `int`

Since:
  3.1
See Also:
  Constant Field Values

#### LONG_TAG

    static final int LONG_TAG

Tag value for a constant of type `long`

Since:
  3.1
See Also:
  Constant Field Values

#### SHORT_TAG

    static final int SHORT_TAG

Tag value for a constant of type `short`

Since:
  3.1
See Also:
  Constant Field Values

#### BOOLEAN_TAG

    static final int BOOLEAN_TAG

Tag value for a constant of type `boolean`

Since:
  3.1
See Also:
  Constant Field Values

#### STRING_TAG

    static final int STRING_TAG

Tag value for a constant of type `java.lang.String`

Since:
  3.1
See Also:
  Constant Field Values

#### ENUM_TAG

    static final int ENUM_TAG

Tag value for a value that represents an enum constant

Since:
  3.1
See Also:
  Constant Field Values

#### CLASS_TAG

    static final int CLASS_TAG

Tag value for a value that represents a class

Since:
  3.1
See Also:
  Constant Field Values

#### ANNOTATION_TAG

    static final int ANNOTATION_TAG

Tag value for a value that represents an annotation

Since:
  3.1
See Also:
  Constant Field Values

#### ARRAY_TAG

    static final int ARRAY_TAG

Tag value for a value that represents an array

Since:
  3.1
See Also:
  Constant Field Values

### Method Detail

#### getAnnotationComponentValues

    IAnnotationComponentValue[] getAnnotationComponentValues()

Returns the annotation component values as described in the JVM specifications if the tag item is '['. Returns null otherwise.

Returns:
  the annotation component values

#### getAnnotationValue

    IAnnotation getAnnotationValue()

Returns the annotation value as described in the JVM specifications if the tag item is '@'. Returns null otherwise.

Returns:
  the attribute value
Since:
  3.1

#### getClassInfo

    IConstantPoolEntry getClassInfo()

Returns the class info as described in the JVM specifications if the tag item is 'c'. Returns null otherwise.

Returns:
  the class info

#### getClassInfoIndex

    int getClassInfoIndex()

Returns the class info index as described in the JVM specifications if the tag item is 'c'. Returns null otherwise.

Returns:
  the class info index

#### getConstantValue

    IConstantPoolEntry getConstantValue()

Returns the constant value as described in the JVM specifications if the tag item is one of 'B', 'C', 'D', 'F', 'I', 'J', 'S', 'Z', or 's'. Returns null otherwise.

Returns:
  the constant value

#### getConstantValueIndex

    int getConstantValueIndex()

Returns the constant value index as described in the JVM specifications if the tag item is one of 'B', 'C', 'D', 'F', 'I', 'J', 'S', 'Z', or 's'. The value is unspecified otherwise.

Returns:
  the constant value index

#### getEnumConstantName

    char[] getEnumConstantName()

Returns the simple name of the enum constant represented by this annotation component value as described in the JVM specifications if the tag item is 'e'. Returns null otherwise.

Returns:
  the enum constant
Since:
  3.1

#### getEnumConstantNameIndex

    int getEnumConstantNameIndex()

Returns the utf8 constant index as described in the JVM specifications if the tag item is 'e'. The value is unspecified otherwise.

Returns:
  the enum constant index
Since:
  3.1

#### getEnumConstantTypeName

    char[] getEnumConstantTypeName()

Returns the binary name of the type of the enum constant represented by this annotation component value as described in the JVM specifications if the tag item is 'e'. Returns null otherwise.

Returns:
  the enum constant
Since:
  3.1

#### getEnumConstantTypeNameIndex

    int getEnumConstantTypeNameIndex()

Returns the utf8 constant index as described in the JVM specifications if the tag item is 'e'. The value is unspecified otherwise.

Returns:
  the enum constant index
Since:
  3.1

#### getTag

    int getTag()

Returns the tag as described in the JVM specifications.

Returns:
  the tag

#### getValuesNumber

    int getValuesNumber()

Returns the number of values as described in the JVM specifications if the tag item is '['. The value is unspecified otherwise.

Returns:
  the number of values