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: The represented values are not necessarily resolvable, i.e. can contain non-available types, unknown enumeration constants or inconsistent annotations.
  • Field Details

  • Method Details

    • getState

      Returns the state of the represented annotation value.
      Returns:
      The state represented by this instance.
    • 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

      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

      <W> W resolve(Class<? extends W> type)
      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 or null for using the boot loader.
      Returns:
      The loaded value of this annotation.