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