Class TypeQualifierResolver


  • public class TypeQualifierResolver
    extends java.lang.Object
    Resolve annotations into type qualifiers.
    • Constructor Detail

      • TypeQualifierResolver

        public TypeQualifierResolver()
    • Method Detail

      • resolveTypeQualifiers

        public static java.util.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 java.util.Collection<AnnotationValue> resolveTypeQualifierDefaults​(java.util.Collection<AnnotationValue> values,
                                                                                         java.lang.annotation.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,
                                                          java.util.LinkedList<AnnotationValue> result,
                                                          java.util.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
      • resolveTypeQualifiers

        public static java.util.Collection<AnnotationValue> resolveTypeQualifiers​(java.util.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,
                                                         java.lang.annotation.ElementType defaultFor,
                                                         java.util.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