Class AnnotationValue.ForMismatchedType<U,​V>

  • Type Parameters:
    U - The type of the annotation's value when it is not loaded.
    V - The type of the annotation's value when it is loaded.
    All Implemented Interfaces:
    AnnotationValue<U,​V>
    Enclosing interface:
    AnnotationValue<T,​S>

    public static class AnnotationValue.ForMismatchedType<U,​V>
    extends AnnotationValue.AbstractBase<U,​V>
    Describes an annotation value that does not match the annotation' type for a property.
    • Field Detail

      • value

        private final java.lang.String value
        A value description of the property.
    • Constructor Detail

      • ForMismatchedType

        public ForMismatchedType​(MethodDescription.InDefinedShape property,
                                 java.lang.String value)
        Creates an annotation description for a mismatched typeName.
        Parameters:
        property - The property that does not defines a non-matching value.
        value - A value description of the property.
    • Method Detail

      • getState

        public AnnotationValue.State getState()
        Returns the state of the represented annotation value.
        Returns:
        The state represented by this instance.
      • filter

        public AnnotationValue<U,​V> 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

        public U 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.
      • load

        public AnnotationValue.Loaded<V> load​(java.lang.ClassLoader classLoader)
        Returns the loaded value of this annotation.
        Parameters:
        classLoader - The class loader for loading this value.
        Returns:
        The loaded value of this annotation.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object