Class TypeQualifierResolver

java.lang.Object
edu.umd.cs.findbugs.ba.jsr305.TypeQualifierResolver

public class TypeQualifierResolver extends Object
Resolve annotations into type qualifiers.
  • Field Details

    • typeQualifier

      static final ClassDescriptor typeQualifier
    • typeQualifierNickname

      static final ClassDescriptor typeQualifierNickname
    • typeQualifierDefault

      static final ClassDescriptor typeQualifierDefault
    • elementTypeDescriptor

      static final ClassDescriptor elementTypeDescriptor
    • eclipseNonNullByDefault

      static final ClassDescriptor eclipseNonNullByDefault
    • NON_NULL_CLASS_DESCRIPTORS

      private static final ClassDescriptor[] NON_NULL_CLASS_DESCRIPTORS
    • NULLABLE_CLASS_DESCRIPTORS

      private static final ClassDescriptor[] NULLABLE_CLASS_DESCRIPTORS
  • Constructor Details

    • TypeQualifierResolver

      public TypeQualifierResolver()
  • Method Details

    • resolveTypeQualifiers

      public static Collection<AnnotationValue> resolveTypeQualifiers(AnnotationValue value)
      Resolve an AnnotationValue into a list of AnnotationValues representing type qualifier annotations.
      Parameters:
      value - AnnotationValue representing the use of an annotation
      Returns:
      Collection of AnnotationValues representing resolved TypeQualifier annotations
    • resolveTypeQualifierDefaults

      public static Collection<AnnotationValue> resolveTypeQualifierDefaults(Collection<AnnotationValue> values, ElementType elementType)
      Resolve collection of AnnotationValues (which have been used to annotate an AnnotatedObject or method parameter) into collection of resolved type qualifier AnnotationValues.
      Parameters:
      values - Collection of AnnotationValues used to annotate an AnnotatedObject or method parameter
      Returns:
      Collection of resolved type qualifier AnnotationValues
    • resolveTypeQualifierNicknames

      private static void resolveTypeQualifierNicknames(AnnotationValue value, LinkedList<AnnotationValue> result, LinkedList<ClassDescriptor> onStack)
      Resolve an annotation into AnnotationValues representing any type qualifier(s) the annotation resolves to. Detects annotations which are directly marked as TypeQualifier annotations, and also resolves the use of TypeQualifierNickname annotations.
      Parameters:
      value - AnnotationValue representing the use of an annotation
      result - LinkedList containing resolved type qualifier AnnotationValues
      onStack - stack of annotations being processed; used to detect cycles in type qualifier nicknames
    • logMissingAnnotationClass

      public static void logMissingAnnotationClass(MissingClassException e)
    • resolveTypeQualifiers

      public static Collection<AnnotationValue> resolveTypeQualifiers(Collection<AnnotationValue> values)
      Resolve collection of AnnotationValues (which have been used to annotate an AnnotatedObject or method parameter) into collection of resolved type qualifier AnnotationValues.
      Parameters:
      values - Collection of AnnotationValues used to annotate an AnnotatedObject or method parameter
      Returns:
      Collection of resolved type qualifier AnnotationValues
    • resolveTypeQualifierDefaults

      private static void resolveTypeQualifierDefaults(AnnotationValue value, ElementType defaultFor, LinkedList<AnnotationValue> result)
      Resolve an annotation into AnnotationValues representing any type qualifier(s) the annotation resolves to. Detects annotations which are directly marked as TypeQualifier annotations, and also resolves the use of TypeQualifierNickname annotations.
      Parameters:
      value - AnnotationValue representing the use of an annotation
      result - LinkedList containing resolved type qualifier AnnotationValues