java.lang.Object
io.helidon.codegen.Codegen
Central piece of code processing and generation.
This type loads
extension providers
, and invokes
each CodegenExtension
with appropriate types and annotations.-
Method Summary
Modifier and TypeMethodDescriptionstatic Codegen
create
(CodegenContext ctx, TypeName generator) Create a new instance of the top level Codegen.void
Process all types discovered.void
Finish processing.A set of package prefixes (expected to end with a.
).A set of annotation types.Set of supported options by all extensions.
-
Method Details
-
create
Create a new instance of the top level Codegen. This type discovers allCodegenExtensionProviders
and invokes the providedCodegenExtensions
as needed.- Parameters:
ctx
- code processing and generation contextgenerator
- type name of the invoking generator (such as maven plugin, annotation procesor, command line tool)- Returns:
- a new codegen instance
-
supportedOptions
Set of supported options by all extensions.- Returns:
- supported options
-
process
Process all types discovered. This method analyzes the types and invokes each extension with the correct subset.- Parameters:
allTypes
- all types for this processing round
-
processingOver
public void processingOver()Finish processing. No additional rounds will be done. -
supportedAnnotations
A set of annotation types.- Returns:
- set of annotations that should be processed
-
supportedAnnotationPackagePrefixes
A set of package prefixes (expected to end with a.
).- Returns:
- set of package prefixes of annotations that should be processed
-