@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.ProcessorgetSupportedSourceVersion in class javax.annotation.processing.AbstractProcessorpublic boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement> annotations,
javax.annotation.processing.RoundEnvironment roundEnv)
process in interface javax.annotation.processing.Processorprocess in class javax.annotation.processing.AbstractProcessorprivate 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.IOExceptionprivate 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.IOExceptionprivate 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.IOExceptionprivate 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.IOExceptionprivate 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.IOExceptionprivate 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)