Interface AnnotationValue.Loaded<U>
-
- Type Parameters:
U
- The represented value's type.
- All Known Implementing Classes:
AnnotationValue.ForAnnotationDescription.Loaded
,AnnotationValue.ForConstant.Loaded
,AnnotationValue.ForDescriptionArray.Loaded
,AnnotationValue.ForEnumerationDescription.Loaded
,AnnotationValue.ForEnumerationDescription.Loaded.WithIncompatibleRuntimeType
,AnnotationValue.ForEnumerationDescription.WithUnknownConstant.Loaded
,AnnotationValue.ForIncompatibleType.Loaded
,AnnotationValue.ForMismatchedType.Loaded
,AnnotationValue.ForMissingType.Loaded
,AnnotationValue.ForMissingValue.Loaded
,AnnotationValue.ForTypeDescription.Loaded
,AnnotationValue.Loaded.AbstractBase
,AnnotationValue.Loaded.AbstractBase.ForUnresolvedProperty
- Enclosing interface:
- AnnotationValue<T,S>
public static interface AnnotationValue.Loaded<U>
A loaded variant of anAnnotationValue
. While implementations of this value are required to be processed successfully by aClassLoader
they might still be unresolved. Typical errors on loading an annotation value are:IncompleteAnnotationException
: An annotation does not define a value even though no default value for a property is provided.EnumConstantNotPresentException
: An annotation defines an unknown value for a known enumeration.AnnotationTypeMismatchException
: An annotation property is not of the expected type.
Object.hashCode()
andObject.toString()
that resemble those used for the annotation values of an actualAnnotation
implementation. Also, instances must implementObject.equals(Object)
to returntrue
for other instances of this interface that represent the same annotation value.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
AnnotationValue.Loaded.AbstractBase<W>
An abstract base implementation of a loaded annotation value.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AnnotationValue.State
getState()
Returns the state of the represented loaded annotation value.boolean
represents(java.lang.Object value)
Verifies if this loaded value represents the supplied loaded value.U
resolve()
Resolves the value to the actual value of an annotation.<V> V
resolve(java.lang.Class<? extends V> type)
Resolves the value to the actual value of an annotation.
-
-
-
Method Detail
-
getState
AnnotationValue.State getState()
Returns the state of the represented loaded annotation value.- Returns:
- The state represented by this instance.
-
resolve
U resolve()
Resolves the value to the actual value of an annotation. Calling this method might throw a runtime exception if this value is either not defined or not resolved.- Returns:
- The actual annotation value represented by this instance.
-
resolve
<V> V resolve(java.lang.Class<? extends V> type)
Resolves the value to the actual value of an annotation. Calling this method might throw a runtime exception if this value is either not defined or not resolved.- Type Parameters:
V
- The value's loaded type.- Parameters:
type
- The value's loaded type.- Returns:
- The actual annotation value represented by this instance.
-
represents
boolean represents(java.lang.Object value)
Verifies if this loaded value represents the supplied loaded value.- Parameters:
value
- A loaded annotation value.- Returns:
true
if the supplied annotation value is represented by this annotation value.
-
-