Package com.dslplatform.json.processor
Class CompiledJsonAnnotationProcessor
java.lang.Object
javax.annotation.processing.AbstractProcessor
com.dslplatform.json.processor.CompiledJsonAnnotationProcessor
- All Implemented Interfaces:
Processor
@SupportedAnnotationTypes({"com.dslplatform.json.CompiledJson","com.dslplatform.json.JsonAttribute","com.dslplatform.json.JsonConverter","com.dslplatform.json.JsonValue","com.fasterxml.jackson.annotation.JsonCreator","javax.json.bind.annotation.JsonbCreator"})
public class CompiledJsonAnnotationProcessor
extends AbstractProcessor
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate AnnotationUsageprivate static final Stringprivate Stringprivate Stringprivate static final Stringprivate static final Stringprivate static final Map<String, OptimizedConverter> private TypeElementprivate DeclaredTypeprivate TypeElementprivate DeclaredTypeprivate static final Map<String, List<Analysis.AnnotationMapping<Boolean>>> private LogLevelprivate static final Map<String, List<Analysis.AnnotationMapping<Boolean>>> private UnknownTypesprivate booleanprivate booleanprivate booleanFields inherited from class javax.annotation.processing.AbstractProcessor
processingEnv -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidbuildCode(Writer code, ProcessingEnvironment environment, String className, StructInfo si, Map<String, StructInfo> structs, TypeSupport typeSupport, boolean allowUnknown, String generatedMarker) private static booleanbuildRootConfiguration(Writer code, String configurationName, Map<String, StructInfo> configurations, ProcessingEnvironment processingEnv) (package private) static StringfindConverterName(StructInfo structInfo) voidinit(ProcessingEnvironment processingEnv) private static booleanisAssignableFrom(Set<Type> known, Type test) private static voidmixin(Writer code, boolean writeOnly, StructInfo si, String className) booleanprocess(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) private voidsaveToServiceConfigFile(List<String> configurations, List<Element> elements) Methods inherited from class javax.annotation.processing.AbstractProcessor
getCompletions, getSupportedAnnotationTypes, isInitialized
-
Field Details
-
JsonIgnore
-
NonNullable
-
PropertyAlias
-
JsonRequired
-
Creators
-
Indexes
-
InlinedConverters
-
Defaults
-
CONFIG
- See Also:
-
GRADLE_OPTION_ISOLATING
- See Also:
-
GRADLE_OPTION_AGGREGATING
- See Also:
-
logLevel
-
annotationUsage
-
unknownTypes
-
withJackson
private boolean withJackson -
withJsonb
private boolean withJsonb -
withNullable
private boolean withNullable -
configurationFileName
-
generatedMarker
-
jacksonCreatorElement
-
jacksonCreatorType
-
jsonbCreatorElement
-
jsonbCreatorType
-
-
Constructor Details
-
CompiledJsonAnnotationProcessor
public CompiledJsonAnnotationProcessor()
-
-
Method Details
-
init
- Specified by:
initin interfaceProcessor- Overrides:
initin classAbstractProcessor
-
getSupportedOptions
- Specified by:
getSupportedOptionsin interfaceProcessor- Overrides:
getSupportedOptionsin classAbstractProcessor
-
isAssignableFrom
-
process
- Specified by:
processin interfaceProcessor- Specified by:
processin classAbstractProcessor
-
saveToServiceConfigFile
-
getSupportedSourceVersion
- Specified by:
getSupportedSourceVersionin interfaceProcessor- Overrides:
getSupportedSourceVersionin classAbstractProcessor
-
findConverterName
-
buildCode
private static void buildCode(Writer code, ProcessingEnvironment environment, String className, StructInfo si, Map<String, StructInfo> structs, TypeSupport typeSupport, boolean allowUnknown, @Nullable String generatedMarker) throws IOException- Throws:
IOException
-
mixin
private static void mixin(Writer code, boolean writeOnly, StructInfo si, String className) throws IOException - Throws:
IOException
-
buildRootConfiguration
private static boolean buildRootConfiguration(Writer code, String configurationName, Map<String, StructInfo> configurations, ProcessingEnvironment processingEnv) throws IOException- Throws:
IOException
-