public class AnnotationValueImpl extends Object implements JAnnotationValue
Implementation of JAnnotationValue
| Constructor and Description |
|---|
AnnotationValueImpl(ElementContext ctx,
String name,
Object value,
JClass type) |
| Modifier and Type | Method and Description |
|---|---|
JAnnotation |
asAnnotation()
If this member is complex (i.e.
|
JAnnotation[] |
asAnnotationArray()
If this member is known to be an array of annotations (i.e.
|
boolean |
asBoolean()
Returns the member's value as a boolean.
|
boolean[] |
asBooleanArray()
Returns this member's value as an array of booleans.
|
byte |
asByte()
Returns the member's value as a byte.
|
byte[] |
asByteArray()
Returns this member's value as an array of bytes.
|
char |
asChar()
Returns the member's value as a char.
|
char[] |
asCharArray()
Returns this member's value as an array of bytes.
|
JClass |
asClass()
Returns the value of this member as a JClass.
|
JClass[] |
asClassArray()
If this member is known to be an array of classes, returns an
array of JClass representations of those classes.
|
double |
asDouble()
Returns the member's value as a double.
|
double[] |
asDoubleArray()
Returns this member's value as an array of doubles.
|
float |
asFloat()
Returns the member's value as a float.
|
float[] |
asFloatArray()
Returns this member's value as an array of floats.
|
int |
asInt()
Returns the member's value as an int.
|
int[] |
asIntArray()
Returns this member's value as an array of ints.
|
long |
asLong()
Returns the member's value as a long.
|
long[] |
asLongArray()
Returns this member's value as an array of longs.
|
short |
asShort()
Returns the member's value as a short.
|
short[] |
asShortArray()
Returns this member's value as an array of shorts.
|
String |
asString()
Returns the String value of the annotation.
|
String[] |
asStringArray()
Returns this member's value as an array of Strings.
|
String |
getName() |
JClass |
getType() |
Object |
getValue() |
boolean |
isDefaultValueUsed()
Returns true if the member's value was not explicitly set in the
annotation instance but was instead taken from the member definition's
default.
|
public AnnotationValueImpl(ElementContext ctx, String name, Object value, JClass type)
public boolean isDefaultValueUsed()
JAnnotationValueReturns true if the member's value was not explicitly set in the annotation instance but was instead taken from the member definition's default.
Note that not all JAM implementations may be able to distinguish the case where the value is explicitly declared to be the same value as the member's default from the case where the value is not declared and the value is implicitly default. In this event, this method will return true if and only if the effective value of the annotation is the same as the default value (regardless of how that value was declared).
isDefaultValueUsed in interface JAnnotationValuepublic String getName()
getName in interface JAnnotationValuepublic JClass getType()
getType in interface JAnnotationValuepublic JAnnotation asAnnotation()
JAnnotationValueIf this member is complex (i.e. an instance of another annotation type), this method returns a representation of the annotation instance. Returns null in all other samples. This method always returns null if the annotation is a javdoc tag, as such tags only support one level of nesting.
asAnnotation in interface JAnnotationValuepublic JClass asClass()
JAnnotationValueReturns the value of this member as a JClass. Returns null if the value cannot be understood as a class name or if the type of the member is known to be something other than java.lang.Class.
asClass in interface JAnnotationValuepublic String asString()
JAnnotationValueReturns the String value of the annotation. If the value is known to be a simple, non-array type other than String, it will be converted in a resonable manner (with an appropriate toString() or String.valueOf() method). If the value is known to be complex or is an array, this method will return null.
If no type information is available for the annotation member (i.e. it's a javadoc tag), then the raw textual value of the member is returned.
asString in interface JAnnotationValuepublic int asInt()
throws NumberFormatException
JAnnotationValueReturns the member's value as an int. If the value is not known to be an int, (because it's a javadoc tag or because it's a 175 annotation member of a type other than int) asString() is called. If the result is null, NumberFormatException is thrown. Otherwise, the String is converted to an int with Integer.valueOf(), which again may throw NumberFormatException.
asInt in interface JAnnotationValueNumberFormatExceptionpublic boolean asBoolean()
throws IllegalArgumentException
JAnnotationValueReturns the member's value as a boolean. If necessary, type conversion is performed in a similar manner as described for asInt(), except that IllegalArgumentException is thrown instead of NumberFormatException.
asBoolean in interface JAnnotationValueIllegalArgumentExceptionpublic long asLong()
throws NumberFormatException
JAnnotationValueReturns the member's value as a long. If necessary, type conversion is performed in a similar manner as described for asInt().
asLong in interface JAnnotationValueNumberFormatExceptionpublic short asShort()
throws NumberFormatException
JAnnotationValueReturns the member's value as a short. If necessary, type conversion is performed in a similar manner as described for asInt().
asShort in interface JAnnotationValueNumberFormatExceptionpublic double asDouble()
throws NumberFormatException
JAnnotationValueReturns the member's value as a double. If necessary, type conversion is performed in a similar manner as described for asInt().
asDouble in interface JAnnotationValueNumberFormatExceptionpublic float asFloat()
throws NumberFormatException
JAnnotationValueReturns the member's value as a float. If necessary, type conversion is performed in a similar manner as described for asInt().
asFloat in interface JAnnotationValueNumberFormatExceptionpublic byte asByte()
throws NumberFormatException
JAnnotationValueReturns the member's value as a byte. If necessary, type conversion is performed in a similar manner as described for asInt().
asByte in interface JAnnotationValueNumberFormatExceptionpublic char asChar()
throws IllegalArgumentException
JAnnotationValueReturns the member's value as a char. If necessary, type conversion is performed by calling getStringValue(). If the result is null or is a String that is not exactly of length 1, IllegalArgumentException is thrown.
asChar in interface JAnnotationValueIllegalArgumentExceptionpublic JClass[] asClassArray()
JAnnotationValueIf this member is known to be an array of classes, returns an array of JClass representations of those classes. If the memeber is known to be an array of a simple non-array type, this method will call asStringArray() and attempt to return a JClass by treating each string in the returned array as a qualified classname. Returns null otherwise.
This method always returns null for javadoc tags.
asClassArray in interface JAnnotationValuepublic JAnnotation[] asAnnotationArray()
JAnnotationValueIf this member is known to be an array of annotations (i.e. complex, nested types), this method returns an array containing each complex value as a JAnnotation. Returns null in all other samples.
This method always returns null for javadoc tags.
asAnnotationArray in interface JAnnotationValuepublic String[] asStringArray()
JAnnotationValueReturns this member's value as an array of Strings. If this member is not of an array type, or is an array of arrays or complex annotations, this method returns null. If it is an array of a simple, non-array type other than String, conversion on each component will be attempted as described under getStringValue().
This method always returns null for javadoc tags.
asStringArray in interface JAnnotationValuepublic int[] asIntArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of ints. If this member is not of an array type, or is an array of arrays or complex annotations, this method returns null. If it is an array of a simple, non-array type other than int, conversion on each component will be attempted as described under getIntValue().
This method always returns null for javadoc tags.
asIntArray in interface JAnnotationValueNumberFormatExceptionpublic boolean[] asBooleanArray()
throws IllegalArgumentException
JAnnotationValueReturns this member's value as an array of booleans. If necessary, type conversion is performed in a similar manner as described for asIntArray(), except that IllegalArgumentException may be thrown instead of NumberFormatException.
This method always returns null for javadoc tags.
asBooleanArray in interface JAnnotationValueIllegalArgumentExceptionpublic short[] asShortArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of shorts. If necessary, type conversion is performed in a similar manner as described for asIntArray().
This method always returns null for javadoc tags.
asShortArray in interface JAnnotationValueNumberFormatExceptionpublic long[] asLongArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of longs. If necessary, type conversion is performed in a similar manner as described for asIntArray().
This method always returns null for javadoc tags.
asLongArray in interface JAnnotationValueNumberFormatExceptionpublic double[] asDoubleArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of doubles. If necessary, type conversion is performed in a similar manner as described for asIntArray().
This method always returns null for javadoc tags.
asDoubleArray in interface JAnnotationValueNumberFormatExceptionpublic float[] asFloatArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of floats. If necessary, type conversion is performed in a similar manner as described for asIntArray().
This method always returns null for javadoc tags.
asFloatArray in interface JAnnotationValueNumberFormatExceptionpublic byte[] asByteArray()
throws NumberFormatException
JAnnotationValueReturns this member's value as an array of bytes. If necessary, type conversion is performed in a similar manner as described for asIntArray().
This method always returns null for javadoc tags.
asByteArray in interface JAnnotationValueNumberFormatExceptionpublic char[] asCharArray()
throws IllegalArgumentException
JAnnotationValueReturns this member's value as an array of bytes. If necessary, type conversion is performed in a similar manner as described for asIntArray() and asChar()..
This method always returns null for javadoc tags.
asCharArray in interface JAnnotationValueIllegalArgumentExceptionpublic Object getValue()
getValue in interface JAnnotationValueCopyright © 2010 - 2020 Adobe. All Rights Reserved