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
ConstructorDescriptionDatabaseDriverFeature
(JdbcFeature jdbcFeature, TestContainers testContainers, TestResources testResources) -
Method Summary
Modifier and TypeMethodDescriptionvoid
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 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 boolean
embedded()
getAdditionalConfig
(GeneratorContext generatorContext) abstract String
abstract String
abstract String
abstract String
Class<?>
abstract String
abstract String
getTestResourcesAdditionalModules
(@NonNull GeneratorContext generatorContext) @NonNull List<MavenCoordinate>
getTestResourcesDependencies
(@NonNull GeneratorContext generatorContext) protected @NonNull List<Dependency.Builder>
parseDependencies
(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 ofDefaultFeature.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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.micronaut.starter.feature.database.DatabaseDriverFeatureDependencies
getHibernateReactiveJavaClientDependency, getJavaClientDependency, getR2DbcDependency
Methods inherited from interface io.micronaut.core.naming.Described
getDescription
Methods 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:
getFeatureClass
in interfaceOneOfFeature
-
supports
Description copied from interface:Feature
This 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:Feature
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)
. 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:
processSelectedFeatures
in interfaceFeature
- Overrides:
processSelectedFeatures
in classEaseTestingFeature
- Parameters:
featureContext
- The feature context
-
getCategory
- Specified by:
getCategory
in interfaceFeature
- Returns:
- The
Category
to 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:
getTestResourcesAdditionalModules
in interfaceTestResourcesAdditionalModulesProvider
-
getTestResourcesDependencies
@NonNull public @NonNull List<MavenCoordinate> getTestResourcesDependencies(@NonNull @NonNull GeneratorContext generatorContext) - Specified by:
getTestResourcesDependencies
in interfaceTestResourcesAdditionalModulesProvider
-
getAdditionalConfig
-
apply
Description copied from interface:Feature
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)
. 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)
-