public class SisuIndex extends AbstractSisuIndex implements SpaceVisitor, ClassVisitor
The index consists of qualified class names listed in META-INF/sisu/javax.inject.Named
.
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
clazzName |
private QualifierCache |
qualifierCache |
private ClassSpace |
space |
private java.io.File |
targetDirectory |
INDEX_FOLDER, NAMED, QUALIFIER
NON_INSTANTIABLE
Constructor and Description |
---|
SisuIndex(java.io.File targetDirectory) |
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 |
enterSpace(ClassSpace _space)
Enters the class space.
|
protected java.io.Reader |
getReader(java.lang.String path)
Creates a new reader for the given input path.
|
protected java.io.Writer |
getWriter(java.lang.String path)
Creates a new writer for the given output path.
|
void |
index(ClassSpace _space) |
protected void |
info(java.lang.String message)
Reports an informational message.
|
void |
leaveClass()
Leaves the class definition.
|
void |
leaveSpace()
Leaves the class space.
|
static void |
main(java.lang.String[] args) |
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.
|
protected void |
warn(java.lang.String message)
Reports a warning message.
|
addClassToIndex, flushIndex
private final QualifierCache qualifierCache
private final java.io.File targetDirectory
private ClassSpace space
private java.lang.String clazzName
public static void main(java.lang.String[] args)
public final void index(ClassSpace _space)
public final void enterSpace(ClassSpace _space)
SpaceVisitor
enterSpace
in interface SpaceVisitor
_space
- The class spacepublic final 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 final 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 final 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 final void leaveClass()
ClassVisitor
leaveClass
in interface ClassVisitor
public final void leaveSpace()
SpaceVisitor
leaveSpace
in interface SpaceVisitor
protected void info(java.lang.String message)
AbstractSisuIndex
info
in class AbstractSisuIndex
message
- The messageprotected void warn(java.lang.String message)
AbstractSisuIndex
warn
in class AbstractSisuIndex
message
- The messageprotected java.io.Reader getReader(java.lang.String path) throws java.io.IOException
AbstractSisuIndex
getReader
in class AbstractSisuIndex
path
- The input pathjava.io.IOException
protected java.io.Writer getWriter(java.lang.String path) throws java.io.IOException
AbstractSisuIndex
getWriter
in class AbstractSisuIndex
path
- The output pathjava.io.IOException