Package org.eclipse.sisu.space
Class SisuIndex
- java.lang.Object
-
- org.eclipse.sisu.space.SisuIndex
-
- All Implemented Interfaces:
ClassVisitor
,SpaceVisitor
public class SisuIndex extends Object 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 inherited from interface org.eclipse.sisu.space.ClassVisitor
NON_INSTANTIABLE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addClassToIndex(Object anno, Object clazz)
Adds a new annotated class entry to the index.void
enterClass(int modifiers, String name, String _extends, String[] _implements)
Enters the class definition.void
enterSpace(ClassSpace _space)
Enters the class space.protected void
flushIndex()
Writes the current index as a series of tables.protected Reader
getReader(String path)
Creates a new reader for the given input path.protected Writer
getWriter(String path)
Creates a new writer for the given output path.void
index(ClassSpace _space)
protected void
info(String message)
Reports an informational message.void
leaveClass()
Leaves the class definition.void
leaveSpace()
Leaves the class space.static void
main(String[] args)
AnnotationVisitor
visitAnnotation(String desc)
Visits an annotation declared on the class.ClassVisitor
visitClass(URL url)
Visits a class resource in the class space.protected void
warn(String message)
Reports a warning message.
-
-
-
Constructor Detail
-
SisuIndex
public SisuIndex(File targetDirectory)
-
-
Method Detail
-
main
public static void main(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(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, String name, String _extends, 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(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(String message)
Reports an informational message.- Parameters:
message
- The message
-
warn
protected void warn(String message)
Reports a warning message.- Parameters:
message
- The message
-
getReader
protected Reader getReader(String path) throws IOException
Creates a new reader for the given input path.- Parameters:
path
- The input path- Returns:
- The relevant reader
- Throws:
IOException
-
getWriter
protected Writer getWriter(String path) throws IOException
Creates a new writer for the given output path.- Parameters:
path
- The output path- Returns:
- The relevant writer
- Throws:
IOException
-
addClassToIndex
protected final void addClassToIndex(Object anno, Object clazz)
Adds a new annotated class entry to the index.- Parameters:
anno
- The annotation nameclazz
- The class name
-
flushIndex
protected final void flushIndex()
Writes the current index as a series of tables.
-
-