Interface AnnotationValue<T,S>
-
- Type Parameters:
T- The represented value's unloaded type.S- The represented value's loaded type.
- All Known Implementing Classes:
AnnotationDescription.AnnotationInvocationHandler.MissingValue,AnnotationValue.AbstractBase,AnnotationValue.ForAnnotationDescription,AnnotationValue.ForConstant,AnnotationValue.ForDescriptionArray,AnnotationValue.ForEnumerationDescription,AnnotationValue.ForTypeDescription,TypePool.AbstractBase.RawAnnotationValue,TypePool.AbstractBase.RawDescriptionArray,TypePool.AbstractBase.RawEnumerationValue,TypePool.AbstractBase.RawTypeValue
public interface AnnotationValue<T,S>Representation of an unloaded annotation value where all values represent either:- Primitive values (as their wrappers),
Strings or arrays of primitive types or strings. - A
TypeDescriptionor an array of such a descriptions. - An
EnumerationDescriptionor an array of such a description. - An
AnnotationDescriptionor an array of such a description.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classAnnotationValue.AbstractBase<U,V>An abstract base implementation of an unloaded annotation value.static classAnnotationValue.ForAnnotationDescription<U extends java.lang.annotation.Annotation>A description of anAnnotationas a value of another annotation.static classAnnotationValue.ForConstant<U>Represents a primitive value, aStringor an array of the latter types.static classAnnotationValue.ForDescriptionArray<U,V>Describes a complex array that is the value of an annotation.static classAnnotationValue.ForEnumerationDescription<U extends java.lang.Enum<U>>A description of anEnumas a value of an annotation.static classAnnotationValue.ForTypeDescription<U extends java.lang.Class<U>>A description of aClassas a value of an annotation.static interfaceAnnotationValue.Loaded<U>A loaded variant of anAnnotationValue.static classAnnotationValue.RenderingDispatcherA rendering dispatcher is responsible for resolving annotation values toStringrepresentations.
-
Field Summary
Fields Modifier and Type Field Description static AnnotationValue<?,?>UNDEFINEDAn undefined annotation value.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AnnotationValue.Loaded<S>load(java.lang.ClassLoader classLoader)Returns the loaded value of this annotation.AnnotationValue.Loaded<S>loadSilent(java.lang.ClassLoader classLoader)Returns the loaded value of this annotation without throwing a checked exception.Tresolve()Resolves the unloaded value of this annotation.<W> Wresolve(java.lang.Class<? extends W> type)Resolves the unloaded value of this annotation.
-
-
-
Field Detail
-
UNDEFINED
static final AnnotationValue<?,?> UNDEFINED
An undefined annotation value.
-
-
Method Detail
-
resolve
T resolve()
Resolves the unloaded value of this annotation.- Returns:
- The unloaded value of this annotation.
-
resolve
<W> W resolve(java.lang.Class<? extends W> type)
Resolves the unloaded value of this annotation.- Type Parameters:
W- The annotation value's unloaded type.- Parameters:
type- The annotation value's unloaded type.- Returns:
- The unloaded value of this annotation.
-
load
AnnotationValue.Loaded<S> load(java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException
Returns the loaded value of this annotation.- Parameters:
classLoader- The class loader for loading this value.- Returns:
- The loaded value of this annotation.
- Throws:
java.lang.ClassNotFoundException- If a type that represents a loaded value cannot be found.
-
loadSilent
AnnotationValue.Loaded<S> loadSilent(java.lang.ClassLoader classLoader)
Returns the loaded value of this annotation without throwing a checked exception.- Parameters:
classLoader- The class loader for loading this value.- Returns:
- The loaded value of this annotation.
-
-