Interface AnnotationValue.OfConstant
- All Superinterfaces:
AnnotationValue
- All Known Subinterfaces:
AnnotationValue.OfBoolean, AnnotationValue.OfByte, AnnotationValue.OfChar, AnnotationValue.OfDouble, AnnotationValue.OfFloat, AnnotationValue.OfInt, AnnotationValue.OfLong, AnnotationValue.OfShort, AnnotationValue.OfString
- Enclosing interface:
AnnotationValue
public static sealed interface AnnotationValue.OfConstant
extends AnnotationValue
permits AnnotationValue.OfString, AnnotationValue.OfDouble, AnnotationValue.OfFloat, AnnotationValue.OfLong, AnnotationValue.OfInt, AnnotationValue.OfShort, AnnotationValue.OfChar, AnnotationValue.OfByte, AnnotationValue.OfBoolean
Models a constant value of an element-value pair.
- Since:
- 24
-
Nested Class Summary
Nested classes/interfaces declared in interface AnnotationValue
AnnotationValue.OfAnnotation, AnnotationValue.OfArray, AnnotationValue.OfBoolean, AnnotationValue.OfByte, AnnotationValue.OfChar, AnnotationValue.OfClass, AnnotationValue.OfConstant, AnnotationValue.OfDouble, AnnotationValue.OfEnum, AnnotationValue.OfFloat, AnnotationValue.OfInt, AnnotationValue.OfLong, AnnotationValue.OfShort, AnnotationValue.OfStringModifier and TypeInterfaceDescriptionstatic interfaceModels an annotation value of an element-value pair.static interfaceModels an array value of an element-value pair.static interfaceModels a boolean value of an element-value pair.static interfaceModels a byte value of an element-value pair.static interfaceModels a char value of an element-value pair.static interfaceModels a class value of an element-value pair.static interfaceModels a constant value of an element-value pair.static interfaceModels a double value of an element-value pair.static interfaceModels an enum value of an element-value pair.static interfaceModels a float value of an element-value pair.static interfaceModels an int value of an element-value pair.static interfaceModels a long value of an element-value pair.static interfaceModels a short value of an element-value pair.static interfaceModels a string value of an element-value pair. -
Field Summary
Fields declared in interface AnnotationValue
TAG_ANNOTATION, TAG_ARRAY, TAG_BOOLEAN, TAG_BYTE, TAG_CHAR, TAG_CLASS, TAG_DOUBLE, TAG_ENUM, TAG_FLOAT, TAG_INT, TAG_LONG, TAG_SHORT, TAG_STRINGModifier and TypeFieldDescriptionstatic final intThetagindicating the value of an element-value pair isAnnotationValue.OfAnnotation.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfArray.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfBoolean.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfByte.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfChar.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfClass.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfDouble.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfEnum.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfFloat.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfInt.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfLong.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfShort.static final intThetagindicating the value of an element-value pair isAnnotationValue.OfString. -
Method Summary
Modifier and TypeMethodDescriptionconstant()Returns the constant pool entry backing this constant element.Returns the resolved live constant value, as an object.Methods declared in interface AnnotationValue
tagModifier and TypeMethodDescriptioninttag()Returns the tag character for this value as per JVMS ยง4.7.16.1.
-
Method Details
-
constant
AnnotationConstantValueEntry constant()Returns the constant pool entry backing this constant element.- API Note:
- Different types of constant values may share the same type of entry
because they have the same computational type.
For example,
AnnotationValue.OfIntandAnnotationValue.OfCharare both backed byIntegerEntry. UseresolvedValue()for a value of accurate type. - Returns:
- the constant pool entry backing this constant element
-
resolvedValue
Constable resolvedValue()Returns the resolved live constant value, as an object. The type of the returned value may be a wrapper class orString.- API Note:
- The returned object, despite being
Constable, may not describe the right constant for encoding the annotation value in a class file. For example,Characterreturned byAnnotationValue.OfChardescribes itself as aDynamicConstantPoolEntry, but it is actually backed byIntegerEntryin annotation format. Useconstant()for a correct constant pool representation. - Returns:
- the resolved live constant value, as an object
-