Interface DefaultFeature

All Superinterfaces:
io.micronaut.core.naming.Described, Feature, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered
All Known Subinterfaces:
LanguageFeature
All Known Implementing Classes:
ApplicationTypeCliFeature, ApplicationTypeDefaultFeature, ApplicationTypeFeature, ApplicationTypeFunctionFeature, ApplicationTypeGrpcFeature, ApplicationTypeLibraryFeature, ApplicationTypeMessagingFeature, AwsLambda, EnforcerPlugin, Groovy, Grpc, Java, Kafka, Kapt, Kotlin, KotlinSymbolProcessing, MicronautBuildPlugin, Mockk, Picocli, QuarkusDefaultFeature, Readme, SpringBootDefaultFeature, StaticResourceFeature

public interface DefaultFeature extends Feature
A default feature is one that should be applied to a project conditionally without being explicitly selected. If a feature must be chosen by the user in order to be applied, then the feature is not a default feature.
Since:
2.0.0
Author:
James Kleeh
  • Method Details

    • shouldApply

      boolean shouldApply(Options options, Set<Feature> selectedFeatures)
      Determines 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.
      Parameters:
      options - The options
      selectedFeatures - The features manually selected by the user
      Returns:
      True if the feature should apply
    • forEach

      static void forEach(Stream<Feature> featureStream, Options options, Set<Feature> features, Consumer<Feature> featureConsumer)