Package org.eclipse.sisu.space
Class SisuIndex
- java.lang.Object
-
- org.eclipse.sisu.space.AbstractSisuIndex
-
- org.eclipse.sisu.space.SisuIndex
-
- All Implemented Interfaces:
ClassVisitor
,SpaceVisitor
public class SisuIndex extends AbstractSisuIndex implements SpaceVisitor, ClassVisitor
Command-line utility that generates a qualified class index for a space-separated list of JARs.The index consists of qualified class names listed in
META-INF/sisu/javax.inject.Named
.- See Also:
- sisu-maven-plugin
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
clazzName
private QualifierCache
qualifierCache
private ClassSpace
space
private java.io.File
targetDirectory
-
Fields inherited from class org.eclipse.sisu.space.AbstractSisuIndex
INDEX_FOLDER, NAMED, QUALIFIER
-
Fields inherited from interface org.eclipse.sisu.space.ClassVisitor
NON_INSTANTIABLE
-
-
Constructor Summary
Constructors Constructor Description SisuIndex(java.io.File targetDirectory)
-
Method Summary
All Methods Static 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
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.-
Methods inherited from class org.eclipse.sisu.space.AbstractSisuIndex
addClassToIndex, flushIndex
-
-
-
-
Field Detail
-
qualifierCache
private final QualifierCache qualifierCache
-
targetDirectory
private final java.io.File targetDirectory
-
space
private ClassSpace space
-
clazzName
private java.lang.String clazzName
-
-
Method Detail
-
main
public static void main(java.lang.String[] args)
-
index
public final void index(ClassSpace _space)
-
enterSpace
public final void enterSpace(ClassSpace _space)
Description copied from interface:SpaceVisitor
Enters the class space.- Specified by:
enterSpace
in interfaceSpaceVisitor
- Parameters:
_space
- The class space
-
visitClass
public final ClassVisitor visitClass(java.net.URL url)
Description copied from interface:SpaceVisitor
Visits a class resource in the class space.- Specified by:
visitClass
in interfaceSpaceVisitor
- Parameters:
url
- The class resource URL- Returns:
- Class visitor;
null
if it is not interested in visiting the class
-
enterClass
public final 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 interfaceClassVisitor
- Parameters:
modifiers
- The access modifiersname
- The internal name, such as "javax/inject/Provider"_extends
- Extends this superclass_implements
- Implements these interfaces
-
visitAnnotation
public final AnnotationVisitor visitAnnotation(java.lang.String desc)
Description copied from interface:ClassVisitor
Visits an annotation declared on the class.- Specified by:
visitAnnotation
in interfaceClassVisitor
- 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 final void leaveClass()
Description copied from interface:ClassVisitor
Leaves the class definition.- Specified by:
leaveClass
in interfaceClassVisitor
-
leaveSpace
public final void leaveSpace()
Description copied from interface:SpaceVisitor
Leaves the class space.- Specified by:
leaveSpace
in interfaceSpaceVisitor
-
info
protected void info(java.lang.String message)
Description copied from class:AbstractSisuIndex
Reports an informational message.- Specified by:
info
in classAbstractSisuIndex
- Parameters:
message
- The message
-
warn
protected void warn(java.lang.String message)
Description copied from class:AbstractSisuIndex
Reports a warning message.- Specified by:
warn
in classAbstractSisuIndex
- Parameters:
message
- The message
-
getReader
protected java.io.Reader getReader(java.lang.String path) throws java.io.IOException
Description copied from class:AbstractSisuIndex
Creates a new reader for the given input path.- Specified by:
getReader
in classAbstractSisuIndex
- Parameters:
path
- The input path- Returns:
- The relevant reader
- Throws:
java.io.IOException
-
getWriter
protected java.io.Writer getWriter(java.lang.String path) throws java.io.IOException
Description copied from class:AbstractSisuIndex
Creates a new writer for the given output path.- Specified by:
getWriter
in classAbstractSisuIndex
- Parameters:
path
- The output path- Returns:
- The relevant writer
- Throws:
java.io.IOException
-
-