Package org.eclipse.sisu.plexus
Class PlexusTypeVisitor
- java.lang.Object
-
- org.eclipse.sisu.plexus.PlexusTypeVisitor
-
- All Implemented Interfaces:
ClassVisitor
,SpaceVisitor
public final class PlexusTypeVisitor extends java.lang.Object implements SpaceVisitor, ClassVisitor
SpaceVisitor
that reports Plexus bean classes annotated with @Component
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
PlexusTypeVisitor.ComponentAnnotationVisitor
AnnotationVisitor
that records details of @Component
annotations.
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
COMPONENT_DESC
private PlexusTypeVisitor.ComponentAnnotationVisitor
componentVisitor
private java.lang.String
implementation
private PlexusTypeListener
plexusTypeListener
private QualifiedTypeVisitor
qualifiedTypeVisitor
private java.lang.String
source
private ClassSpace
space
-
Fields inherited from interface org.eclipse.sisu.space.ClassVisitor
NON_INSTANTIABLE
-
-
Constructor Summary
Constructors Constructor Description PlexusTypeVisitor(PlexusTypeListener listener)
-
Method Summary
All 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.void
leaveClass()
Leaves the class definition.void
leaveSpace()
Leaves the class space.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.
-
-
-
Field Detail
-
COMPONENT_DESC
private static final java.lang.String COMPONENT_DESC
-
componentVisitor
private final PlexusTypeVisitor.ComponentAnnotationVisitor componentVisitor
-
plexusTypeListener
private final PlexusTypeListener plexusTypeListener
-
qualifiedTypeVisitor
private final QualifiedTypeVisitor qualifiedTypeVisitor
-
space
private ClassSpace space
-
source
private java.lang.String source
-
implementation
private java.lang.String implementation
-
-
Constructor Detail
-
PlexusTypeVisitor
public PlexusTypeVisitor(PlexusTypeListener listener)
-
-
Method Detail
-
enterSpace
public 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 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 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 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 void leaveClass()
Description copied from interface:ClassVisitor
Leaves the class definition.- Specified by:
leaveClass
in interfaceClassVisitor
-
leaveSpace
public void leaveSpace()
Description copied from interface:SpaceVisitor
Leaves the class space.- Specified by:
leaveSpace
in interfaceSpaceVisitor
-
-