Class PicocliJavaApplication
java.lang.Object
io.micronaut.starter.feature.picocli.lang.java.PicocliJavaApplication
- All Implemented Interfaces:
io.micronaut.core.naming.Described
,io.micronaut.core.naming.Named
,io.micronaut.core.order.Ordered
,ApplicationFeature
,Feature
,JavaApplicationFeature
@Requires(property="micronaut.starter.feature.picocli.java.application.enabled",
value="true",
defaultValue="true")
@Singleton
public class PicocliJavaApplication
extends Object
implements JavaApplicationFeature
Feature for generating a Java-based CLI application using Picocli.
Creates a Picocli command as the main application class and configures the Java project accordingly.
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
apply
(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 String
getPath()
Returns the file path for the generated Picocli application source file.getTemplate
(Project project) Returns theRockerTemplate
for generating the Picocli application source file.@Nullable String
mainClassName
(GeneratorContext generatorContext) boolean
This 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, wait
Methods inherited from interface io.micronaut.projectgen.core.feature.ApplicationFeature
isVisible
Methods inherited from interface io.micronaut.core.naming.Described
getDescription
Methods inherited from interface io.micronaut.projectgen.core.feature.Feature
getCategory, getDescription, getFrameworkDocumentation, getThirdPartyDocumentation, getTitle, isCommunity, isPreview, processSelectedFeatures
Methods inherited from interface io.micronaut.projectgen.core.feature.JavaApplicationFeature
getOrder
-
Constructor Details
-
PicocliJavaApplication
public PicocliJavaApplication()
-
-
Method Details
-
mainClassName
- Specified by:
mainClassName
in interfaceApplicationFeature
-
getName
Description copied from interface:Feature
The name of the feature. It must be unique. -
supports
Description copied from interface:Feature
This 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:Feature
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)
. At this point the feature list is set and cannot change.- Specified by:
apply
in interfaceApplicationFeature
- Specified by:
apply
in interfaceFeature
- Parameters:
generatorContext
- THe generator context
-
getTemplate
Returns theRockerTemplate
for 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 generated Picocli application source file.The path is relative to the project root and includes placeholders for the package path and class name, which are replaced during template rendering.
- Returns:
- the file path for the generated application source file
-