Class ClassBuilderConfigurator
-
- All Implemented Interfaces:
public final class ClassBuilderConfigurator<M extends Object>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public interfaceClassBuilderConfigurator.Setter
-
Field Summary
Fields Modifier and Type Field Description private BooleanforceGenerationprivate final ClassNameBuilder<M>classNameprivate final PackageNameBuilder<M>packageNameprivate StringprojectDirprivate StringprojectSubDirprivate ObjectregisterAsTypeOfCodeprivate final List<IClassCmBuilder<out M>>buildersprivate TemplateGeneratortemplateprivate final List<Object>dependenciesprivate final StringbaseDirprivate StringfreemarkerTemplateprivate final TypeOfCode<M>typeOfCodeprivate final CodegenParamsparams
-
Constructor Summary
Constructors Constructor Description ClassBuilderConfigurator(TypeOfCode<M> typeOfCode, CodegenParams params)
-
Method Summary
-
-
Constructor Detail
-
ClassBuilderConfigurator
ClassBuilderConfigurator(TypeOfCode<M> typeOfCode, CodegenParams params)
-
-
Method Detail
-
getForceGeneration
final Boolean getForceGeneration()
-
setForceGeneration
final Unit setForceGeneration(Boolean forceGeneration)
-
getClassName
final ClassNameBuilder<M> getClassName()
-
getPackageName
final PackageNameBuilder<M> getPackageName()
-
getProjectDir
final String getProjectDir()
-
setProjectDir
final Unit setProjectDir(String projectDir)
-
getProjectSubDir
final String getProjectSubDir()
-
setProjectSubDir
final Unit setProjectSubDir(String projectSubDir)
-
getRegisterAsTypeOfCode
final Object getRegisterAsTypeOfCode()
Lets you register as a different type of code in the class index.
For example, an ENUM type can be registered as DTO, which can simplify code model building implementations. In particular, that the ENUM can be regarded as a special case of the DTO.
-
setRegisterAsTypeOfCode
final Unit setRegisterAsTypeOfCode(Object registerAsTypeOfCode)
Lets you register as a different type of code in the class index.
For example, an ENUM type can be registered as DTO, which can simplify code model building implementations. In particular, that the ENUM can be regarded as a special case of the DTO.
-
getBuilders
final List<IClassCmBuilder<out M>> getBuilders()
List of all code model builders.
It is not used when code is generated from a template.
-
getTemplate
final TemplateGenerator getTemplate()
Template to be used to generate code.
You can use freemarkerTemplate instead of this property.
-
setTemplate
final Unit setTemplate(TemplateGenerator template)
Template to be used to generate code.
You can use freemarkerTemplate instead of this property.
-
getDependencies
final List<Object> getDependencies()
-
getBaseDir
final String getBaseDir()
-
getFreemarkerTemplate
final String getFreemarkerTemplate()
Use FreeMarker template as generator.
The template should be located in classpath.
If you require some custom FreeMarker configuration use template property. Then you should also set the className.
-
setFreemarkerTemplate
final Unit setFreemarkerTemplate(String freemarkerTemplate)
-
getTypeOfCode
final TypeOfCode<M> getTypeOfCode()
-
getParams
final CodegenParams getParams()
-
onDeclaration
final ClassBuilderConfigurator<M> onDeclaration(ClassCmBuilderTemplate.Builder<M> declarer)
Adds code model builder for
declarationphase.It is not used when code is generated from a template.
Note that the strange construction
ClassCmBuilderTemplate.Builder<M>is here to make it work likeClassCmBuilderTemplate.() -> Unitin Kotlin and likeConsumer<ClassCmBuilderTemplate>in Java.
-
onImplementation
final ClassBuilderConfigurator<M> onImplementation(ClassCmBuilderTemplate.Builder<M> implementer)
Adds code model builder for
implementationphase.It is not used when code is generated from a template.
Note that the strange construction
ClassCmBuilderTemplate.Builder<M>is here to make it work likeClassCmBuilderTemplate.() -> Unitin Kotlin and likeConsumer<ClassCmBuilderTemplate>in Java.
-
onDecoration
final ClassBuilderConfigurator<M> onDecoration(ClassCmBuilderTemplate.Builder<M> decorator)
Adds code model builder for
decorationphase.It is not used when code is generated from a template.
Note that the strange construction
ClassCmBuilderTemplate.Builder<M>is here to make it work likeClassCmBuilderTemplate.() -> Unitin Kotlin and likeConsumer<ClassCmBuilderTemplate>in Java.
-
registerAsTypeOfCode
final ClassBuilderConfigurator<M> registerAsTypeOfCode(Object typeOfCode)
-
projectSubDir
final ClassBuilderConfigurator<M> projectSubDir(String projectSubDir)
-
className
final ClassBuilderConfigurator<M> className(ClassNameBuilder.Setter<M> builder)
-
packageName
final ClassBuilderConfigurator<M> packageName(PackageNameBuilder.Setter<M> builder)
-
forceGeneration
final ClassBuilderConfigurator<M> forceGeneration(Boolean forceGeneration)
Forces code generation even if it is not used by other generated code.
-
addManagedComponentBuilder
final ClassBuilderConfigurator<M> addManagedComponentBuilder()
Adds JavaParams.managedComponentBuilder and JavaParams.dependencyInjectionBuilder builders.
Note that if another builders adds an alternative annotation to the one provided by JavaParams.managedComponentBuilder, you should use the addDependencyInjectionBuilder method to provide dependency injection.
-
addDependencyInjectionBuilder
final ClassBuilderConfigurator<M> addDependencyInjectionBuilder()
Adds JavaParams.dependencyInjectionBuilder builder.
-
-
-
-