Class NativeImageConfigGeneratorProcessor
- java.lang.Object
-
- javax.annotation.processing.AbstractProcessor
-
- picocli.codegen.annotation.processing.AbstractCommandSpecProcessor
-
- picocli.codegen.aot.graalvm.processor.NativeImageConfigGeneratorProcessor
-
- All Implemented Interfaces:
javax.annotation.processing.Processor
@SupportedOptions({"verbose","project","disable.reflect.config","other.resource.bundles","disable.resource.config","other.resource.patterns","disable.proxy.config","other.proxy.interfaces"}) public class NativeImageConfigGeneratorProcessor extends AbstractCommandSpecProcessor
- Since:
- 4.0
- See Also:
ReflectionConfigGenerator
,ResourceConfigGenerator
,DynamicProxyConfigGenerator
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BASE_PATH
Base path where generated files will be written to: "META-INF/native-image/picocli-generated/".protected java.util.List<picocli.codegen.aot.graalvm.processor.IGenerator>
generators
static java.lang.String
OPTION_PROJECT
Name of the annotation processor option that can be used to control the actual location where the generated file(s) are to be written to, relative to theBASE_PATH
.-
Fields inherited from class picocli.codegen.annotation.processing.AbstractCommandSpecProcessor
processingEnv
-
-
Constructor Summary
Constructors Constructor Description NativeImageConfigGeneratorProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
handleCommands(java.util.Map<javax.lang.model.element.Element,CommandLine.Model.CommandSpec> commands, java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
Subclasses must implement this method and do something with theCommandSpec
command model objects that were found during compilation.void
init(javax.annotation.processing.ProcessingEnvironment processingEnv)
-
Methods inherited from class picocli.codegen.annotation.processing.AbstractCommandSpecProcessor
error, fatalError, getSupportedAnnotationTypes, getSupportedSourceVersion, logInfo, process, setLoadResourceBundles, warn
-
-
-
-
Field Detail
-
BASE_PATH
public static final java.lang.String BASE_PATH
Base path where generated files will be written to: "META-INF/native-image/picocli-generated/".- See Also:
- Constant Field Values
-
OPTION_PROJECT
public static final java.lang.String OPTION_PROJECT
Name of the annotation processor option that can be used to control the actual location where the generated file(s) are to be written to, relative to theBASE_PATH
. The value of this constant is "project".- See Also:
- Constant Field Values
-
generators
protected java.util.List<picocli.codegen.aot.graalvm.processor.IGenerator> generators
-
-
Method Detail
-
init
public void init(javax.annotation.processing.ProcessingEnvironment processingEnv)
- Specified by:
init
in interfacejavax.annotation.processing.Processor
- Overrides:
init
in classAbstractCommandSpecProcessor
-
handleCommands
protected boolean handleCommands(java.util.Map<javax.lang.model.element.Element,CommandLine.Model.CommandSpec> commands, java.util.Set<? extends javax.lang.model.element.TypeElement> annotations, javax.annotation.processing.RoundEnvironment roundEnv)
Description copied from class:AbstractCommandSpecProcessor
Subclasses must implement this method and do something with theCommandSpec
command model objects that were found during compilation.- Specified by:
handleCommands
in classAbstractCommandSpecProcessor
- Parameters:
commands
- a map of annotated elements to their associatedCommandSpec
. Note that the key set may contain classes that do not have a@Command
annotation but were added to the map because the class has fields annotated withOption
or@Parameters
.annotations
- the annotation types requested to be processedroundEnv
- environment for information about the current and prior round- Returns:
- whether or not the set of annotation types are claimed by this processor.
If
true
is returned, the annotation types are claimed and subsequent processors will not be asked to process them; iffalse
is returned, the annotation types are unclaimed and subsequent processors may be asked to process them. A processor may always return the same boolean value or may vary the result based on chosen criteria.
-
-