@Singleton public class Ktor extends java.lang.Object implements KotlinApplicationFeature, ThirdPartyServerFeature, LanguageSpecificFeature
Constructor and Description |
---|
Ktor() |
Modifier and Type | Method and Description |
---|---|
void |
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 of
DefaultFeature.shouldApply(ApplicationType, io.micronaut.starter.options.Options, java.util.Set) ,
or added explicitly by another feature through FeatureContext.addFeature(Feature) . |
java.lang.String |
getCategory() |
java.lang.String |
getDescription() |
java.lang.String |
getMicronautDocumentation() |
java.lang.String |
getName()
The name of the feature.
|
Language |
getRequiredLanguage() |
java.lang.String |
getTitle() |
boolean |
isVisible()
Some features should not be visible to the user because they are a common parent of other
selectable features, or they should always be applied, or any other reason.
|
java.lang.String |
mainClassName(GeneratorContext generatorContext) |
void |
processSelectedFeatures(FeatureContext featureContext)
If this method is called for a given feature then that feature was explicitly selected
or was included by default as a result of
DefaultFeature.shouldApply(ApplicationType, io.micronaut.starter.options.Options, java.util.Set) . |
boolean |
supports(ApplicationType applicationType)
This method must be implemented to ensure it is only selectable for the desired
application types.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getOrder
getFeatureClass
getThirdPartyDocumentation, isCommunity, isPreview
public boolean supports(ApplicationType applicationType)
Feature
supports
in interface Feature
supports
in interface ServerFeature
applicationType
- The application typepublic void processSelectedFeatures(FeatureContext featureContext)
Feature
DefaultFeature.shouldApply(ApplicationType, io.micronaut.starter.options.Options, java.util.Set)
.
This method can be implemented to allow features to modify the list of features
that will apply to the project. The methods FeatureContext.addFeature(Feature)
and FeatureContext.exclude(FeaturePredicate)
are the primary ways to add and
remove features from the context. FeatureContext.isPresent(Class)
can be used
to determine the existence of other features in order to make decisions.processSelectedFeatures
in interface Feature
featureContext
- The feature context@NonNull public java.lang.String getName()
Feature
public java.lang.String getDescription()
getDescription
in interface io.micronaut.core.naming.Described
getDescription
in interface Feature
public java.lang.String getTitle()
public java.lang.String getCategory()
getCategory
in interface Feature
getCategory
in interface ServerFeature
Category
to which the feature belongs to.public Language getRequiredLanguage()
getRequiredLanguage
in interface LanguageSpecificFeature
@Nullable public java.lang.String mainClassName(GeneratorContext generatorContext)
mainClassName
in interface ApplicationFeature
public void apply(GeneratorContext generatorContext)
Feature
DefaultFeature.shouldApply(ApplicationType, io.micronaut.starter.options.Options, java.util.Set)
,
or added explicitly by another feature through FeatureContext.addFeature(Feature)
.
At this point the feature list is set and cannot change.
This method can be implemented to modify the generated project. The feature can add templates
by executing GeneratorContext.addTemplate(String, io.micronaut.starter.template.Template)
, modify configuration
by modifying GeneratorContext.getConfiguration()
or GeneratorContext.getBootstrapConfiguration()
, or modify build properties through GeneratorContext.getBuildProperties()
.apply
in interface ApplicationFeature
apply
in interface Feature
generatorContext
- THe generator contextpublic boolean isVisible()
Feature
isVisible
in interface ApplicationFeature
isVisible
in interface Feature
public java.lang.String getMicronautDocumentation()
getMicronautDocumentation
in interface Feature