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),
String
s or arrays of primitive types or strings. - A
TypeDescription
or an array of such a descriptions. - An
EnumerationDescription
or an array of such a description. - An
AnnotationDescription
or an array of such a description.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
An abstract base implementation of an unloaded annotation value.static class
A description of anAnnotation
as a value of another annotation.static class
Represents a primitive value, aString
or an array of the latter types.static class
Describes a complex array that is the value of an annotation.static class
AnnotationValue.ForEnumerationDescription<U extends Enum<U>>
A description of anEnum
as a value of an annotation.static class
Represents an annotation value where its declared type does not fulfil an expectation.static class
Describes an annotation value that does not match the annotation' type for a property.static class
An annotation value for a type that could not be loaded.static class
Represents a missing annotation property which is not represented by a default value.static class
AnnotationValue.ForTypeDescription<U extends Class<U>>
A description of aClass
as a value of an annotation.static interface
A loaded variant of anAnnotationValue
.static enum
A rendering dispatcher is responsible for resolving annotation values toString
representations.static enum
Represents the sort of anAnnotationValue
.static enum
Represents 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> W
Resolves 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 ornull
for using the boot loader.- Returns:
- The loaded value of this annotation.
-