Package org.jvnet.hk2.generator.internal
Class ClassVisitorImpl
- java.lang.Object
-
- org.objectweb.asm.ClassVisitor
-
- org.jvnet.hk2.generator.internal.AbstractClassVisitorImpl
-
- org.jvnet.hk2.generator.internal.ClassVisitorImpl
-
public class ClassVisitorImpl extends AbstractClassVisitorImpl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ClassVisitorImpl.ConfiguredMethodVisitor
private class
ClassVisitorImpl.ContractsProvidedAnnotationVisitor
private class
ClassVisitorImpl.DecorateAnnotationVisitor
private static class
ClassVisitorImpl.DecorateData
private static class
ClassVisitorImpl.GeneratedNameMethodFinderVisitor
private class
ClassVisitorImpl.MetadataAnnotationVisitor
private static class
ClassVisitorImpl.MethodRankAnnotationVisitor
private static class
ClassVisitorImpl.MethodUseProxyAnnotationVisitor
private static class
ClassVisitorImpl.MethodVisibilityAnnotationVisitor
private class
ClassVisitorImpl.MethodVisitorImpl
private static class
ClassVisitorImpl.NamedAnnotationVisitor
private class
ClassVisitorImpl.RankAnnotationVisitor
private class
ClassVisitorImpl.ServiceAnnotationVisitor
private class
ClassVisitorImpl.UseProxyAnnotationVisitor
private class
ClassVisitorImpl.VisibilityAnnotationVisitor
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
ANALYZER
private ClassVisitorImpl.NamedAnnotationVisitor
baseName
private java.lang.String
classAnalyzer
private java.util.Map<java.lang.String,GenerateMethodAnnotationData>
classLevelGenerators
private static java.lang.String
CONFIGURED_CLASS_FORM
private static java.lang.String
CONTRACTS_PROVIDED_CLASS_FORM
private static java.lang.String
DECORATE_CLASS_FORM
private static java.lang.String
DECORATE_METHOD_NAME
private static java.lang.String
DECORATE_TARGET_TYPE
private static java.lang.String
DECORATE_WITH
private ClassVisitorImpl.DecorateData
decorateData
private boolean
factoryMethodFound
private java.util.LinkedList<DescriptorImpl>
generatedDescriptors
private java.util.LinkedHashSet<java.lang.String>
iFaces
private java.lang.String
implName
private boolean
isAService
private boolean
isConfigured
private boolean
isFactory
private static java.lang.String
LOCAL
private java.util.Map<java.lang.String,java.util.List<java.lang.String>>
metadata
private static java.lang.String
METADATA
private java.lang.String
metadataString
private static java.lang.String
METHOD_ACTUAL
Must be the same value as from the GenerateServiceFromMethod valuestatic java.lang.String
METHOD_NAME
Must be the same value as from the GenerateServiceFromMethod valueprivate static java.lang.String
NAME
static java.lang.String
PARENT_CONFIGURED
Must be the same value as from the GenerateServiceFromMethod valueprivate static java.lang.String
PROVIDE
private java.util.LinkedHashSet<java.lang.String>
providedContracts
private java.util.LinkedList<java.lang.String>
qualifiers
private java.lang.Integer
rank
private static java.lang.String
RANK_CLASS_FORM
private java.lang.String
scopeClass
private java.util.List<java.io.File>
searchHeres
private static java.lang.String
SERVICE_CLASS_FORM
private static java.lang.String
USE_PROXY_CLASS_FORM
private java.lang.Boolean
useProxy
private Utilities
utilities
private static java.lang.String
VALUE
private boolean
verbose
private DescriptorVisibility
visibility
private static java.lang.String
VISIBILITY_CLASS_FORM
-
Constructor Summary
Constructors Constructor Description ClassVisitorImpl(Utilities utilities, boolean verbose, java.util.List<java.io.File> searchHeres)
Creates this with the config to add to if this is a service
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
getDefaultName()
java.util.List<DescriptorImpl>
getGeneratedDescriptor()
Gets the generated descriptor created by this visitorvoid
visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
org.objectweb.asm.AnnotationVisitor
visitAnnotation(java.lang.String desc, boolean visible)
private org.objectweb.asm.MethodVisitor
visitConfiguredMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
void
visitEnd()
org.objectweb.asm.MethodVisitor
visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
-
Methods inherited from class org.jvnet.hk2.generator.internal.AbstractClassVisitorImpl
visitAttribute, visitField, visitInnerClass, visitOuterClass, visitSource
-
-
-
-
Field Detail
-
SERVICE_CLASS_FORM
private static final java.lang.String SERVICE_CLASS_FORM
- See Also:
- Constant Field Values
-
CONTRACTS_PROVIDED_CLASS_FORM
private static final java.lang.String CONTRACTS_PROVIDED_CLASS_FORM
- See Also:
- Constant Field Values
-
RANK_CLASS_FORM
private static final java.lang.String RANK_CLASS_FORM
- See Also:
- Constant Field Values
-
CONFIGURED_CLASS_FORM
private static final java.lang.String CONFIGURED_CLASS_FORM
- See Also:
- Constant Field Values
-
DECORATE_CLASS_FORM
private static final java.lang.String DECORATE_CLASS_FORM
- See Also:
- Constant Field Values
-
USE_PROXY_CLASS_FORM
private static final java.lang.String USE_PROXY_CLASS_FORM
- See Also:
- Constant Field Values
-
VISIBILITY_CLASS_FORM
private static final java.lang.String VISIBILITY_CLASS_FORM
- See Also:
- Constant Field Values
-
NAME
private static final java.lang.String NAME
- See Also:
- Constant Field Values
-
METADATA
private static final java.lang.String METADATA
- See Also:
- Constant Field Values
-
VALUE
private static final java.lang.String VALUE
- See Also:
- Constant Field Values
-
PROVIDE
private static final java.lang.String PROVIDE
- See Also:
- Constant Field Values
-
LOCAL
private static final java.lang.String LOCAL
- See Also:
- Constant Field Values
-
ANALYZER
private static final java.lang.String ANALYZER
- See Also:
- Constant Field Values
-
METHOD_ACTUAL
private static final java.lang.String METHOD_ACTUAL
Must be the same value as from the GenerateServiceFromMethod value- See Also:
- Constant Field Values
-
METHOD_NAME
public static final java.lang.String METHOD_NAME
Must be the same value as from the GenerateServiceFromMethod value- See Also:
- Constant Field Values
-
PARENT_CONFIGURED
public static final java.lang.String PARENT_CONFIGURED
Must be the same value as from the GenerateServiceFromMethod value- See Also:
- Constant Field Values
-
verbose
private final boolean verbose
-
searchHeres
private final java.util.List<java.io.File> searchHeres
-
utilities
private final Utilities utilities
-
implName
private java.lang.String implName
-
iFaces
private final java.util.LinkedHashSet<java.lang.String> iFaces
-
providedContracts
private java.util.LinkedHashSet<java.lang.String> providedContracts
-
scopeClass
private java.lang.String scopeClass
-
qualifiers
private final java.util.LinkedList<java.lang.String> qualifiers
-
isAService
private boolean isAService
-
isConfigured
private boolean isConfigured
-
baseName
private ClassVisitorImpl.NamedAnnotationVisitor baseName
-
metadataString
private java.lang.String metadataString
-
rank
private java.lang.Integer rank
-
useProxy
private java.lang.Boolean useProxy
-
visibility
private DescriptorVisibility visibility
-
metadata
private final java.util.Map<java.lang.String,java.util.List<java.lang.String>> metadata
-
classAnalyzer
private java.lang.String classAnalyzer
-
generatedDescriptors
private final java.util.LinkedList<DescriptorImpl> generatedDescriptors
-
isFactory
private boolean isFactory
-
factoryMethodFound
private boolean factoryMethodFound
-
decorateData
private ClassVisitorImpl.DecorateData decorateData
-
classLevelGenerators
private final java.util.Map<java.lang.String,GenerateMethodAnnotationData> classLevelGenerators
-
DECORATE_TARGET_TYPE
private static final java.lang.String DECORATE_TARGET_TYPE
- See Also:
- Constant Field Values
-
DECORATE_METHOD_NAME
private static final java.lang.String DECORATE_METHOD_NAME
- See Also:
- Constant Field Values
-
DECORATE_WITH
private static final java.lang.String DECORATE_WITH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ClassVisitorImpl
public ClassVisitorImpl(Utilities utilities, boolean verbose, java.util.List<java.io.File> searchHeres)
Creates this with the config to add to if this is a service- Parameters:
utilities
- The utilities class to use for this visitor (preserves cache)verbose
- true if we should print out any service we are bindingsearchHere
- if we cannot classload something directly, search for it here
-
-
Method Detail
-
visit
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
- Overrides:
visit
in classAbstractClassVisitorImpl
-
visitAnnotation
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
- Overrides:
visitAnnotation
in classAbstractClassVisitorImpl
-
getDefaultName
private java.lang.String getDefaultName()
-
visitEnd
public void visitEnd()
- Overrides:
visitEnd
in classAbstractClassVisitorImpl
-
visitConfiguredMethod
private org.objectweb.asm.MethodVisitor visitConfiguredMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
- Overrides:
visitMethod
in classAbstractClassVisitorImpl
-
getGeneratedDescriptor
public java.util.List<DescriptorImpl> getGeneratedDescriptor()
Gets the generated descriptor created by this visitor- Returns:
- The descriptor generated by this visitor, or null if the class was not annotated with @Service
-
-