Class Java
java.lang.Object
io.micronaut.starter.feature.lang.java.Java
- All Implemented Interfaces:
io.micronaut.core.naming.Described,io.micronaut.core.naming.Named,io.micronaut.core.order.Ordered,DefaultFeature,Feature,LanguageFeature
@Requires(property="micronaut.starter.feature.java.enabled",
value="true",
defaultValue="true")
@Singleton
public class Java
extends Object
implements LanguageFeature
Represents the Java language feature for project generation.
-
Field Summary
FieldsFields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NonNull StringgetName()The name of the feature.booleanisJava()voidprocessSelectedFeatures(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 ofDefaultFeature.shouldApply(io.micronaut.starter.options.Options, java.util.Set).protected voidprocessSelectedFeatures(FeatureContext featureContext, Predicate<Feature> featureFilter) Processes and adds the first matching application feature to the feature context based on the provided filter.booleanshouldApply(Options options, Set<Feature> selectedFeatures) Determines if the feature should be applied to the project.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.naming.Described
getDescriptionMethods inherited from interface io.micronaut.projectgen.core.feature.Feature
apply, getCategory, getDescription, getFrameworkDocumentation, getThirdPartyDocumentation, getTitle, isCommunity, isPreview
-
Field Details
-
applicationFeatures
-
-
Constructor Details
-
Java
-
-
Method Details
-
getName
Description copied from interface:FeatureThe name of the feature. It must be unique. -
processSelectedFeatures
Description copied from interface:FeatureIf this method is called for a given feature then that feature was explicitly selected or was included by default as a result ofDefaultFeature.shouldApply(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 methodsFeatureContext.addFeature(Feature)andFeatureContext.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.- Specified by:
processSelectedFeaturesin interfaceFeature- Parameters:
featureContext- The feature context
-
processSelectedFeatures
protected void processSelectedFeatures(FeatureContext featureContext, Predicate<Feature> featureFilter) Processes and adds the first matching application feature to the feature context based on the provided filter.If the feature context does not already contain an
ApplicationFeature, this method searches the available application features, applies the given filter, and checks if the feature supports the current application type. If a matching feature is found, it is added to the feature context.- Parameters:
featureContext- the feature context to updatefeatureFilter- a predicate used to filter features before selection
-
isJava
public boolean isJava()- Specified by:
isJavain interfaceLanguageFeature
-
shouldApply
Description copied from interface:DefaultFeatureDetermines if the feature should be applied to the project. Default features do not need to be concerned if the feature was already selected and therefore is already in the list of selected features. The addition to the set is based on the identity of the feature instance and all features are singletons.- Specified by:
shouldApplyin interfaceDefaultFeature- Parameters:
options- The optionsselectedFeatures- The features manually selected by the user- Returns:
- True if the feature should apply
-