Class QualifierCache

  • All Implemented Interfaces:
    ClassVisitor

    final class QualifierCache
    extends java.lang.Object
    implements ClassVisitor
    Caching ClassVisitor that maintains a map of known Qualifier annotations.
    • Constructor Summary

      Constructors 
      Constructor Description
      QualifierCache()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void enterClass​(int modifiers, java.lang.String name, java.lang.String _extends, java.lang.String[] _implements)
      Enters the class definition.
      void leaveClass()
      Leaves the class definition.
      (package private) boolean qualify​(ClassSpace space, java.lang.String desc)
      Scans the given annotation type to see if it is marked with Qualifier.
      AnnotationVisitor visitAnnotation​(java.lang.String desc)
      Visits an annotation declared on the class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • cachedResults

        private static final java.util.Map<java.lang.String,​java.lang.Boolean> cachedResults
      • isQualified

        private boolean isQualified
    • Constructor Detail

      • QualifierCache

        QualifierCache()
    • Method Detail

      • enterClass

        public void enterClass​(int modifiers,
                               java.lang.String name,
                               java.lang.String _extends,
                               java.lang.String[] _implements)
        Description copied from interface: ClassVisitor
        Enters the class definition.
        Specified by:
        enterClass in interface ClassVisitor
        Parameters:
        modifiers - The access modifiers
        name - The internal name, such as "javax/inject/Provider"
        _extends - Extends this superclass
        _implements - Implements these interfaces
      • visitAnnotation

        public AnnotationVisitor visitAnnotation​(java.lang.String desc)
        Description copied from interface: ClassVisitor
        Visits an annotation declared on the class.
        Specified by:
        visitAnnotation in interface ClassVisitor
        Parameters:
        desc - The JVM descriptor for the annotation class, such as "Ljavax/inject/Qualifier;"
        Returns:
        Annotation visitor; null if it is not interested in visiting the annotation
        See Also:
        SpaceScanner.jvmDescriptor(Class)
      • leaveClass

        public void leaveClass()
        Description copied from interface: ClassVisitor
        Leaves the class definition.
        Specified by:
        leaveClass in interface ClassVisitor
      • qualify

        boolean qualify​(ClassSpace space,
                        java.lang.String desc)
        Scans the given annotation type to see if it is marked with Qualifier.
        Parameters:
        space - The class space
        desc - The annotation descriptor
        Returns:
        true if the annotation is a qualifier; otherwise false