Package org.springframework.aot.generate
Interface GenerationContext
- All Known Implementing Classes:
DefaultGenerationContext
public interface GenerationContext
Central interface used for code generation.
A generation context provides:
- Management of all
getGeneratedClasses()
generated classes}, including naming convention support. - Central management of all
generated files
. - Support for the recording of
runtime hints
.
If a dedicated round of code generation is required while processing, it
is possible to create a specialized context using withName(String)
.
- Since:
- 6.0
- Author:
- Phillip Webb, Stephane Nicoll
-
Method Summary
Modifier and TypeMethodDescriptionReturn theGeneratedClasses
being used by the context.Return theGeneratedFiles
being used by the context.Return theRuntimeHints
being used by the context.Return a newGenerationContext
instance using the specified name to qualify generated assets for a dedicated round of code generation.
-
Method Details
-
getGeneratedClasses
GeneratedClasses getGeneratedClasses()Return theGeneratedClasses
being used by the context. Allows a single generated class to be shared across multiple AOT processors. All generated classes are written at the end of AOT processing.- Returns:
- the generated classes
-
getGeneratedFiles
GeneratedFiles getGeneratedFiles()Return theGeneratedFiles
being used by the context. Used to write resource, java source or class bytecode files.- Returns:
- the generated files
-
getRuntimeHints
RuntimeHints getRuntimeHints()Return theRuntimeHints
being used by the context. Used to recordreflection
,resource
,serialization
andproxy
hints so that the application can run as a native image.- Returns:
- the runtime hints
-
withName
Return a newGenerationContext
instance using the specified name to qualify generated assets for a dedicated round of code generation. If this name is already in use, a unique sequence is added to ensure the name is unique.- Parameters:
name
- the name to use- Returns:
- a specialized
GenerationContext
for the specified name
-