Package org.glassfish.hk2.stub.generator
Class StubProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- org.glassfish.hk2.stub.generator.StubProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
@SupportedAnnotationTypes("org.glassfish.hk2.utilities.Stub") public class StubProcessor extends javax.annotation.processing.AbstractProcessor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classStubProcessor.ExecutableElementDuplicateFinderprivate static classStubProcessor.TypeMirrorOutputs
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringEXCEPTIONSprivate static java.lang.StringNAMED_ANNOprivate static java.lang.StringPROVIDED_ANNOprivate static java.lang.StringSTUB_EXTENSION
-
Constructor Summary
Constructors Constructor Description StubProcessor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.StringarrayTypeToString(javax.lang.model.type.ArrayType arrayType, boolean varArgs, java.util.Map<java.lang.String,java.lang.String> typeMapper)private voidgetAllGenericMappings(javax.lang.model.element.TypeElement clazz, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> retVal, java.util.Map<java.lang.String,java.lang.String> subclassMap)private java.lang.StringgetFullyQualifiedStubName(javax.lang.model.element.TypeElement clazz)private static java.lang.StringgetJustClassPart(java.lang.String fullyQualifiedFileNameWithDots)javax.lang.model.SourceVersiongetSupportedSourceVersion()Gets rid of warnings and this code should work with all source versionsprivate static java.lang.StringgetTypeName(javax.lang.model.type.TypeMirror mirror)private static java.lang.StringgetTypeName(javax.lang.model.type.TypeMirror mirror, java.util.Map<java.lang.String,java.lang.String> typeMap)private static booleanhasTypeParameters(javax.lang.model.element.TypeElement clazz)private static booleanisScopeAnnotation(javax.lang.model.element.AnnotationMirror annotation)booleanprocess(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)private StubProcessor.TypeMirrorOutputstypeMirrorToString(javax.lang.model.type.TypeMirror mirror, boolean varArg, java.util.Map<java.lang.String,java.lang.String> typeMap)private voidwriteAbstractMethod(javax.lang.model.element.ExecutableElement abstractMethod, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> genericMapper, java.io.Writer writer, boolean exceptions)private voidwriteJavaFile(javax.lang.model.element.TypeElement clazz, java.util.Set<javax.lang.model.element.ExecutableElement> abstractMethods, java.lang.String name, boolean exceptions, java.util.List<javax.lang.model.element.TypeElement> contractsProvided, java.lang.String scope, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> genericMapper)private voidwriteStub(javax.lang.model.element.TypeElement clazz)
-
-
-
Field Detail
-
NAMED_ANNO
private static final java.lang.String NAMED_ANNO
-
EXCEPTIONS
private static final java.lang.String EXCEPTIONS
- See Also:
- Constant Field Values
-
PROVIDED_ANNO
private static final java.lang.String PROVIDED_ANNO
-
STUB_EXTENSION
private static final java.lang.String STUB_EXTENSION
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSupportedSourceVersion
public javax.lang.model.SourceVersion getSupportedSourceVersion()
Gets rid of warnings and this code should work with all source versions- Specified by:
getSupportedSourceVersionin interfacejavax.annotation.processing.Processor- Overrides:
getSupportedSourceVersionin classjavax.annotation.processing.AbstractProcessor
-
process
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)- Specified by:
processin interfacejavax.annotation.processing.Processor- Specified by:
processin classjavax.annotation.processing.AbstractProcessor
-
isScopeAnnotation
private static boolean isScopeAnnotation(javax.lang.model.element.AnnotationMirror annotation)
-
getAllGenericMappings
private void getAllGenericMappings(javax.lang.model.element.TypeElement clazz, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> retVal, java.util.Map<java.lang.String,java.lang.String> subclassMap)
-
hasTypeParameters
private static boolean hasTypeParameters(javax.lang.model.element.TypeElement clazz)
-
writeStub
private void writeStub(javax.lang.model.element.TypeElement clazz) throws java.io.IOException- Throws:
java.io.IOException
-
getFullyQualifiedStubName
private java.lang.String getFullyQualifiedStubName(javax.lang.model.element.TypeElement clazz)
-
getJustClassPart
private static java.lang.String getJustClassPart(java.lang.String fullyQualifiedFileNameWithDots)
-
writeJavaFile
private void writeJavaFile(javax.lang.model.element.TypeElement clazz, java.util.Set<javax.lang.model.element.ExecutableElement> abstractMethods, java.lang.String name, boolean exceptions, java.util.List<javax.lang.model.element.TypeElement> contractsProvided, java.lang.String scope, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> genericMapper) throws java.io.IOException- Throws:
java.io.IOException
-
writeAbstractMethod
private void writeAbstractMethod(javax.lang.model.element.ExecutableElement abstractMethod, java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> genericMapper, java.io.Writer writer, boolean exceptions) throws java.io.IOException- Throws:
java.io.IOException
-
typeMirrorToString
private StubProcessor.TypeMirrorOutputs typeMirrorToString(javax.lang.model.type.TypeMirror mirror, boolean varArg, java.util.Map<java.lang.String,java.lang.String> typeMap) throws java.io.IOException
- Throws:
java.io.IOException
-
arrayTypeToString
private java.lang.String arrayTypeToString(javax.lang.model.type.ArrayType arrayType, boolean varArgs, java.util.Map<java.lang.String,java.lang.String> typeMapper) throws java.io.IOException- Throws:
java.io.IOException
-
getTypeName
private static java.lang.String getTypeName(javax.lang.model.type.TypeMirror mirror)
-
getTypeName
private static java.lang.String getTypeName(javax.lang.model.type.TypeMirror mirror, java.util.Map<java.lang.String,java.lang.String> typeMap)
-
-