Interface DefaultFeature

All Superinterfaces:
io.micronaut.core.naming.Described, Feature, io.micronaut.core.naming.Named, io.micronaut.core.order.Ordered
All Known Subinterfaces:
BuildFeature, DefaultConfigurationFeature, LanguageFeature, ParentPomFeature, PicocliTestFeature, TestFeature
All Known Implementing Classes:
AppName, AwsLambda, EnforcerPlugin, Gradle, Groovy, Grpc, GrpcRandomPort, HttpClientTest, Java, Junit, Kafka, Kapt, KoTest, Kotlin, KotlinSymbolProcessing, Logback, Maven, MicronautAot, MicronautBuildPlugin, MicronautHttpValidation, Mockk, Netty, Picocli, PicocliJunit, PicocliKoTest, PicocliSpock, Properties, RandomPort, Readme, SerializationJacksonFeature, ShadePlugin, Spock, 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(ApplicationType applicationType, 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:
      applicationType - The application type
      options - The options
      selectedFeatures - The features manually selected by the user
      Returns:
      True if the feature should apply
    • getTargetFramework

      default String getTargetFramework()
    • forEach

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