Class PicocliKotlinApplication
java.lang.Object
io.micronaut.starter.feature.picocli.lang.kotlin.PicocliKotlinApplication
- All Implemented Interfaces:
io.micronaut.core.naming.Described,io.micronaut.core.naming.Named,io.micronaut.core.order.Ordered,ApplicationFeature,Feature,KotlinApplicationFeature,RequireKaptFeature
@Requires(property="micronaut.starter.feature.picocli.kotlin.application.enabled",
value="true",
defaultValue="true")
@Singleton
public class PicocliKotlinApplication
extends Object
implements RequireKaptFeature, KotlinApplicationFeature
Feature for generating a Kotlin-based CLI application using Picocli.
Creates a Picocli command as the main application class and sets up the Kotlin project structure accordingly.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(GeneratorContext generatorContext) If this method is called for a given feature that means the feature was explicitly selected, included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature throughFeatureContext.addFeature(Feature).getName()The name of the feature.protected StringgetPath()Returns the file path for the Picocli application source file.getTemplate(Project project) Returns theRockerTemplatefor generating the Picocli application source file.@Nullable StringmainClassName(GeneratorContext generatorContext) booleanThis method must be implemented to ensure it is only selectable for the desired application types.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.projectgen.core.feature.ApplicationFeature
isVisibleMethods inherited from interface io.micronaut.core.naming.Described
getDescriptionMethods inherited from interface io.micronaut.projectgen.core.feature.Feature
getCategory, getDescription, getFrameworkDocumentation, getThirdPartyDocumentation, getTitle, isCommunity, isPreview, processSelectedFeaturesMethods inherited from interface io.micronaut.projectgen.core.feature.KotlinApplicationFeature
getOrder
-
Constructor Details
-
PicocliKotlinApplication
public PicocliKotlinApplication()
-
-
Method Details
-
mainClassName
- Specified by:
mainClassNamein interfaceApplicationFeature
-
getName
Description copied from interface:FeatureThe name of the feature. It must be unique. -
supports
Description copied from interface:FeatureThis method must be implemented to ensure it is only selectable for the desired application types. This method is not used for determining if a default feature should be applied. -
apply
Description copied from interface:FeatureIf this method is called for a given feature that means the feature was explicitly selected, included by default as a result ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature throughFeatureContext.addFeature(Feature). At this point the feature list is set and cannot change.- Specified by:
applyin interfaceApplicationFeature- Specified by:
applyin interfaceFeature- Parameters:
generatorContext- THe generator context
-
getTemplate
Returns theRockerTemplatefor generating the Picocli application source file.- Parameters:
project- The project metadata.- Returns:
- The Rocker template used to render the application source.
-
getPath
Returns the file path for the Picocli application source file.The path is a template string that will be resolved with the project's package path and class name.
- Returns:
- The file path template for the Picocli application source file.
-