final class QualifierCache extends java.lang.Object implements ClassVisitor
ClassVisitor
that maintains a map of known Qualifier
annotations.Modifier and Type | Field and Description |
---|---|
private static java.util.Map<java.lang.String,java.lang.Boolean> |
cachedResults |
private boolean |
isQualified |
private static java.lang.String |
NAMED_DESC |
private static java.lang.String |
QUALIFIER_DESC |
NON_INSTANTIABLE
Constructor and Description |
---|
QualifierCache() |
Modifier and Type | Method and 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.
|
private static final java.lang.String QUALIFIER_DESC
private static final java.lang.String NAMED_DESC
private static final java.util.Map<java.lang.String,java.lang.Boolean> cachedResults
private boolean isQualified
public void enterClass(int modifiers, java.lang.String name, java.lang.String _extends, java.lang.String[] _implements)
ClassVisitor
enterClass
in interface ClassVisitor
modifiers
- The access modifiersname
- The internal name, such as "javax/inject/Provider"_extends
- Extends this superclass_implements
- Implements these interfacespublic AnnotationVisitor visitAnnotation(java.lang.String desc)
ClassVisitor
visitAnnotation
in interface ClassVisitor
desc
- The JVM descriptor for the annotation class, such as "Ljavax/inject/Qualifier;"null
if it is not interested in visiting the annotationSpaceScanner.jvmDescriptor(Class)
public void leaveClass()
ClassVisitor
leaveClass
in interface ClassVisitor
boolean qualify(ClassSpace space, java.lang.String desc)
Qualifier
.space
- The class spacedesc
- The annotation descriptortrue
if the annotation is a qualifier; otherwise false