Interface AnnotationValue<T,S>
- Type Parameters:
T- The represented value's unloaded type.S- The represented value's loaded type.
- All Known Implementing Classes:
AnnotationValue.AbstractBase, AnnotationValue.ForAnnotationDescription, AnnotationValue.ForConstant, AnnotationValue.ForDescriptionArray, AnnotationValue.ForEnumerationDescription, AnnotationValue.ForEnumerationDescription.WithUnknownConstant, AnnotationValue.ForIncompatibleType, AnnotationValue.ForMismatchedType, AnnotationValue.ForMissingType, AnnotationValue.ForMissingValue, AnnotationValue.ForTypeDescription, TypePool.Default.LazyTypeDescription.LazyAnnotationValue, TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForAnnotationValue, TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForArray, TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForEnumerationValue, TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForMismatchedType, TypePool.Default.LazyTypeDescription.LazyAnnotationValue.ForTypeValue
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 ClassesModifier and TypeInterfaceDescriptionstatic classAn abstract base implementation of an unloaded annotation value.static classA description of anAnnotationas a value of another annotation.static classRepresents a primitive value, aStringor an array of the latter types.static classDescribes a complex array that is the value of an annotation.static classAnnotationValue.ForEnumerationDescription<U extends Enum<U>>A description of anEnumas a value of an annotation.static classRepresents an annotation value where its declared type does not fulfil an expectation.static classDescribes an annotation value that does not match the annotation' type for a property.static classAn annotation value for a type that could not be loaded.static classRepresents a missing annotation property which is not represented by a default value.static classAnnotationValue.ForTypeDescription<U extends Class<U>>A description of aClassas a value of an annotation.static interfaceA loaded variant of anAnnotationValue.static enumA rendering dispatcher is responsible for resolving annotation values toStringrepresentations.static enumRepresents the sort of anAnnotationValue.static enumRepresents the state of anAnnotationValue. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final AnnotationValue<?, ?> An undefined annotation value. -
Method Summary
Modifier and TypeMethodDescriptionfilter(MethodDescription.InDefinedShape property) Filters this annotation value as a valid value of the provided property.filter(MethodDescription.InDefinedShape property, TypeDefinition typeDefinition) Filters this annotation value as a valid value of the provided property.getSort()Returns the property type of the annotation value.getState()Returns the state of the represented annotation value.load(ClassLoader classLoader) Returns the loaded value of this annotation.resolve()Resolves the unloaded value of this annotation.<W> WResolves the unloaded value of this annotation.
-
Field Details
-
UNDEFINED
An undefined annotation value.
-
-
Method Details
-
getState
AnnotationValue.State getState()Returns the state of the represented annotation value.- Returns:
- The state represented by this instance.
-
getSort
AnnotationValue.Sort getSort()Returns the property type of the annotation value.- Returns:
- The property type of the annotation value.
-
filter
Filters this annotation value as a valid value of the provided property.- Parameters:
property- The property to filter against.- Returns:
- This annotation value or a new annotation value that describes why this value is not a valid value for the supplied property.
-
filter
AnnotationValue<T,S> filter(MethodDescription.InDefinedShape property, TypeDefinition typeDefinition) Filters this annotation value as a valid value of the provided property.- Parameters:
property- The property to filter against.typeDefinition- The expected type.- Returns:
- This annotation value or a new annotation value that describes why this value is not a valid value for the supplied property.
-
resolve
T resolve()Resolves the unloaded value of this annotation. The return value of this method is not defined if this annotation value is invalid.- Returns:
- The unloaded value of this annotation.
-
resolve
Resolves the unloaded value of this annotation. The return value of this method is not defined if this annotation value is invalid.- 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
Returns the loaded value of this annotation.- Parameters:
classLoader- The class loader for loading this value ornullfor using the boot loader.- Returns:
- The loaded value of this annotation.
-