Class AnnotationValue.ForMissingValue<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.ForMissingValue<U,​V>
    extends AnnotationValue.AbstractBase<U,​V>
    Represents a missing annotation property which is not represented by a default value.
    • Field Detail

      • typeDescription

        private final TypeDescription typeDescription
        The annotation type for which a property is not defined.
      • property

        private final java.lang.String property
        The name of the property without an annotation value.
    • Constructor Detail

      • ForMissingValue

        public ForMissingValue​(TypeDescription typeDescription,
                               java.lang.String property)
        Creates a new missing annotation value.
        Parameters:
        typeDescription - The annotation type for which a property is not defined.
        property - The name of the property without an annotation value.
    • 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.
      • 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.
      • 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.