@SupportedAnnotationTypes(value="org.glassfish.hk2.utilities.Stub")
public class StubProcessor
extends javax.annotation.processing.AbstractProcessor
Modifier and Type | Class and Description |
---|---|
private static class |
StubProcessor.ExecutableElementDuplicateFinder |
private static class |
StubProcessor.TypeMirrorOutputs |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
EXCEPTIONS |
private static java.lang.String |
NAMED_ANNO |
private static java.lang.String |
PROVIDED_ANNO |
private static java.lang.String |
STUB_EXTENSION |
Constructor and Description |
---|
StubProcessor() |
Modifier and Type | Method and Description |
---|---|
private java.lang.String |
arrayTypeToString(javax.lang.model.type.ArrayType arrayType,
boolean varArgs,
java.util.Map<java.lang.String,java.lang.String> typeMapper) |
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) |
private java.lang.String |
getFullyQualifiedStubName(javax.lang.model.element.TypeElement clazz) |
private static java.lang.String |
getJustClassPart(java.lang.String fullyQualifiedFileNameWithDots) |
javax.lang.model.SourceVersion |
getSupportedSourceVersion()
Gets rid of warnings and this code should work with all source versions
|
private static java.lang.String |
getTypeName(javax.lang.model.type.TypeMirror mirror) |
private static java.lang.String |
getTypeName(javax.lang.model.type.TypeMirror mirror,
java.util.Map<java.lang.String,java.lang.String> typeMap) |
private static boolean |
hasTypeParameters(javax.lang.model.element.TypeElement clazz) |
private static boolean |
isScopeAnnotation(javax.lang.model.element.AnnotationMirror annotation) |
boolean |
process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations,
javax.annotation.processing.RoundEnvironment roundEnv) |
private StubProcessor.TypeMirrorOutputs |
typeMirrorToString(javax.lang.model.type.TypeMirror mirror,
boolean varArg,
java.util.Map<java.lang.String,java.lang.String> typeMap) |
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) |
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) |
private void |
writeStub(javax.lang.model.element.TypeElement clazz) |
private static final java.lang.String NAMED_ANNO
private static final java.lang.String EXCEPTIONS
private static final java.lang.String PROVIDED_ANNO
private static final java.lang.String STUB_EXTENSION
public javax.lang.model.SourceVersion getSupportedSourceVersion()
getSupportedSourceVersion
in interface javax.annotation.processing.Processor
getSupportedSourceVersion
in class javax.annotation.processing.AbstractProcessor
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
process
in interface javax.annotation.processing.Processor
process
in class javax.annotation.processing.AbstractProcessor
private static boolean isScopeAnnotation(javax.lang.model.element.AnnotationMirror annotation)
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)
private static boolean hasTypeParameters(javax.lang.model.element.TypeElement clazz)
private void writeStub(javax.lang.model.element.TypeElement clazz) throws java.io.IOException
java.io.IOException
private java.lang.String getFullyQualifiedStubName(javax.lang.model.element.TypeElement clazz)
private static java.lang.String getJustClassPart(java.lang.String fullyQualifiedFileNameWithDots)
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
java.io.IOException
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
java.io.IOException
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
java.io.IOException
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
java.io.IOException
private static java.lang.String getTypeName(javax.lang.model.type.TypeMirror mirror)
private static java.lang.String getTypeName(javax.lang.model.type.TypeMirror mirror, java.util.Map<java.lang.String,java.lang.String> typeMap)