Package org.eclipse.sisu.space
Class QualifierCache
- java.lang.Object
-
- org.eclipse.sisu.space.QualifierCache
-
- All Implemented Interfaces:
ClassVisitor
final class QualifierCache extends java.lang.Object implements ClassVisitor
CachingClassVisitorthat maintains a map of knownQualifierannotations.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Map<java.lang.String,java.lang.Boolean>cachedResultsprivate booleanisQualifiedprivate static java.lang.StringNAMED_DESCprivate static java.lang.StringQUALIFIER_DESC-
Fields inherited from interface org.eclipse.sisu.space.ClassVisitor
NON_INSTANTIABLE
-
-
Constructor Summary
Constructors Constructor Description QualifierCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidenterClass(int modifiers, java.lang.String name, java.lang.String _extends, java.lang.String[] _implements)Enters the class definition.voidleaveClass()Leaves the class definition.(package private) booleanqualify(ClassSpace space, java.lang.String desc)Scans the given annotation type to see if it is marked withQualifier.AnnotationVisitorvisitAnnotation(java.lang.String desc)Visits an annotation declared on the class.
-
-
-
Field Detail
-
QUALIFIER_DESC
private static final java.lang.String QUALIFIER_DESC
- See Also:
- Constant Field Values
-
NAMED_DESC
private static final java.lang.String NAMED_DESC
- See Also:
- Constant Field Values
-
cachedResults
private static final java.util.Map<java.lang.String,java.lang.Boolean> cachedResults
-
isQualified
private boolean isQualified
-
-
Method Detail
-
enterClass
public void enterClass(int modifiers, java.lang.String name, java.lang.String _extends, java.lang.String[] _implements)Description copied from interface:ClassVisitorEnters the class definition.- Specified by:
enterClassin interfaceClassVisitor- Parameters:
modifiers- The access modifiersname- 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:ClassVisitorVisits an annotation declared on the class.- Specified by:
visitAnnotationin interfaceClassVisitor- Parameters:
desc- The JVM descriptor for the annotation class, such as "Ljavax/inject/Qualifier;"- Returns:
- Annotation visitor;
nullif it is not interested in visiting the annotation - See Also:
SpaceScanner.jvmDescriptor(Class)
-
leaveClass
public void leaveClass()
Description copied from interface:ClassVisitorLeaves the class definition.- Specified by:
leaveClassin interfaceClassVisitor
-
qualify
boolean qualify(ClassSpace space, java.lang.String desc)
Scans the given annotation type to see if it is marked withQualifier.- Parameters:
space- The class spacedesc- The annotation descriptor- Returns:
trueif the annotation is a qualifier; otherwisefalse
-
-