Class DatabaseDriverFeature
java.lang.Object
io.micronaut.starter.feature.testresources.EaseTestingFeature
io.micronaut.starter.feature.database.DatabaseDriverFeature
- All Implemented Interfaces:
io.micronaut.core.naming.Described,io.micronaut.core.naming.Named,io.micronaut.core.order.Ordered,DatabaseDriverFeatureDependencies,Feature,OneOfFeature,TestResourcesAdditionalModulesProvider
- Direct Known Subclasses:
H2,MySQLCompatibleFeature,Oracle,OracleCloudAutonomousDatabase,PostgreSQL,SQLServer
public abstract class DatabaseDriverFeature
extends EaseTestingFeature
implements OneOfFeature, DatabaseDriverFeatureDependencies, TestResourcesAdditionalModulesProvider
-
Field Summary
Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionDatabaseDriverFeature(JdbcFeature jdbcFeature, TestContainers testContainers, TestResources testResources) -
Method Summary
Modifier and TypeMethodDescriptionvoidapply(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(ApplicationType, io.micronaut.starter.options.Options, java.util.Set), or added explicitly by another feature throughFeatureContext.addFeature(Feature).protected @NonNull List<Dependency.Builder>dependenciesForHibernateReactive(@NonNull GeneratorContext generatorContext) abstract booleanembedded()getAdditionalConfig(GeneratorContext generatorContext) abstract Stringabstract Stringabstract Stringabstract StringClass<?>abstract Stringabstract StringgetTestResourcesAdditionalModules(@NonNull GeneratorContext generatorContext) @NonNull List<MavenCoordinate>getTestResourcesDependencies(@NonNull GeneratorContext generatorContext) protected @NonNull List<Dependency.Builder>parseDependencies(GeneratorContext generatorContext) 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(ApplicationType, io.micronaut.starter.options.Options, java.util.Set).booleansupports(ApplicationType applicationType) 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, waitMethods inherited from interface io.micronaut.starter.feature.database.DatabaseDriverFeatureDependencies
getHibernateReactiveJavaClientDependency, getJavaClientDependency, getR2DbcDependencyMethods inherited from interface io.micronaut.core.naming.Described
getDescriptionMethods inherited from interface io.micronaut.starter.feature.Feature
getDescription, getMicronautDocumentation, getName, getOrder, getThirdPartyDocumentation, getTitle, isCommunity, isPreview, isVisible
-
Constructor Details
-
DatabaseDriverFeature
public DatabaseDriverFeature() -
DatabaseDriverFeature
public DatabaseDriverFeature(JdbcFeature jdbcFeature, TestContainers testContainers, TestResources testResources)
-
-
Method Details
-
getFeatureClass
- Specified by:
getFeatureClassin interfaceOneOfFeature
-
supports
Description copied from interface:FeatureThis 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. -
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(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 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- Overrides:
processSelectedFeaturesin classEaseTestingFeature- Parameters:
featureContext- The feature context
-
getCategory
- Specified by:
getCategoryin interfaceFeature- Returns:
- The
Categoryto which the feature belongs to.
-
embedded
public abstract boolean embedded() -
getJdbcUrl
-
getR2dbcUrl
-
getDriverClass
-
getDefaultUser
-
getDefaultPassword
-
getDataDialect
-
getDbType
-
getTestResourcesAdditionalModules
@NonNull public @NonNull List<String> getTestResourcesAdditionalModules(@NonNull @NonNull GeneratorContext generatorContext) - Specified by:
getTestResourcesAdditionalModulesin interfaceTestResourcesAdditionalModulesProvider
-
getTestResourcesDependencies
@NonNull public @NonNull List<MavenCoordinate> getTestResourcesDependencies(@NonNull @NonNull GeneratorContext generatorContext) - Specified by:
getTestResourcesDependenciesin interfaceTestResourcesAdditionalModulesProvider
-
getAdditionalConfig
-
apply
Description copied from interface:FeatureIf this method is called for a given feature that means the feature was explicitly selected, included by default as a result ofDefaultFeature.shouldApply(ApplicationType, 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. This method can be implemented to modify the generated project. The feature can add templates by executingGeneratorContext.addTemplate(String, io.micronaut.starter.template.Template), modify configuration by modifyingGeneratorContext.getConfiguration()orGeneratorContext.getBootstrapConfiguration(), or modify build properties throughGeneratorContext.getBuildProperties(). -
parseDependencies
@NonNull protected @NonNull List<Dependency.Builder> parseDependencies(GeneratorContext generatorContext) -
dependenciesForHibernateReactive
@NonNull protected @NonNull List<Dependency.Builder> dependenciesForHibernateReactive(@NonNull @NonNull GeneratorContext generatorContext)
-