public final class QualifiedTypeVisitor extends java.lang.Object implements SpaceVisitor, ClassVisitor
SpaceVisitor
that reports types annotated with Qualifier
annotations.Modifier and Type | Field and Description |
---|---|
private java.lang.String |
clazzName |
private QualifiedTypeListener |
listener |
private java.net.URL |
location |
private boolean |
qualified |
private QualifierCache |
qualifierCache |
private java.lang.String |
source |
private ClassSpace |
space |
NON_INSTANTIABLE
Constructor and Description |
---|
QualifiedTypeVisitor(QualifiedTypeListener listener) |
Modifier and Type | Method and Description |
---|---|
void |
disqualify() |
void |
enterClass(int modifiers,
java.lang.String name,
java.lang.String _extends,
java.lang.String[] _implements)
Enters the class definition.
|
void |
enterSpace(ClassSpace _space)
Enters the class space.
|
private java.lang.String |
findSource()
Finds source of current class; detailed location or
ClassSpace#toString() . |
void |
leaveClass()
Leaves the class definition.
|
void |
leaveSpace()
Leaves the class space.
|
static boolean |
verify(ClassSpace space,
java.lang.Class<?>... specification) |
AnnotationVisitor |
visitAnnotation(java.lang.String desc)
Visits an annotation declared on the class.
|
ClassVisitor |
visitClass(java.net.URL url)
Visits a class resource in the class space.
|
private final QualifierCache qualifierCache
private final QualifiedTypeListener listener
private ClassSpace space
private java.net.URL location
private java.lang.String source
private java.lang.String clazzName
private boolean qualified
public QualifiedTypeVisitor(QualifiedTypeListener listener)
public static boolean verify(ClassSpace space, java.lang.Class<?>... specification)
public void enterSpace(ClassSpace _space)
SpaceVisitor
enterSpace
in interface SpaceVisitor
_space
- The class spacepublic ClassVisitor visitClass(java.net.URL url)
SpaceVisitor
visitClass
in interface SpaceVisitor
url
- The class resource URLnull
if it is not interested in visiting the classpublic 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 disqualify()
public void leaveClass()
ClassVisitor
leaveClass
in interface ClassVisitor
public void leaveSpace()
SpaceVisitor
leaveSpace
in interface SpaceVisitor
private java.lang.String findSource()
ClassSpace#toString()
.