- java.lang.Object
-
- io.helidon.dbclient.jdbc.JdbcDbClientProviderBuilder
-
- All Implemented Interfaces:
Builder<DbClient>,DbClientProviderBuilder<JdbcDbClientProviderBuilder>,Supplier<DbClient>
public final class JdbcDbClientProviderBuilder extends Object implements DbClientProviderBuilder<JdbcDbClientProviderBuilder>
Fluent API builder forJdbcDbClientProviderBuilderthat implements theDbClientProviderBuilderfrom Helidon DB API.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <TYPE> JdbcDbClientProviderBuilderaddMapper(DbMapper<TYPE> dbMapper, GenericType<TYPE> mappedType)Add a custom mapper with generic types support.<TYPE> JdbcDbClientProviderBuilderaddMapper(DbMapper<TYPE> dbMapper, Class<TYPE> mappedClass)Add a custom mapper.JdbcDbClientProviderBuilderaddMapperProvider(DbMapperProvider provider)Database schema mappers provider.JdbcDbClientProviderBuilderaddService(DbClientService clientService)Add an interceptor.DbClientbuild()Build database handler for specific provider.JdbcDbClientProviderBuilderconfig(Config config)Use database connection configuration from configuration file.JdbcDbClientProviderBuilderconnectionPool(ConnectionPool connectionPool)Configure a connection pool.static JdbcDbClientProviderBuildercreate()Create a new fluent API builder for JDBC specific db client builder.JdbcDbClientProviderBuilderexecutorService(Supplier<ExecutorService> executorServiceSupplier)Configure an explicit executor service supplier.JdbcDbClientProviderBuildermapperManager(MapperManager manager)Mapper manager for generic mapping, such as mapping of parameters to expected types.JdbcDbClientProviderBuilderpassword(String password)Set database connection p¨assword.JdbcDbClientProviderBuilderstatements(DbStatements statements)Statements to use either from configuration or manually configured.JdbcDbClientProviderBuilderurl(String url)Set database connection string (URL).JdbcDbClientProviderBuilderusername(String username)Set database connection user name.
-
-
-
Method Detail
-
create
public static JdbcDbClientProviderBuilder create()
Create a new fluent API builder for JDBC specific db client builder.- Returns:
- a new instance of the builder
-
build
public DbClient build()
Description copied from interface:DbClientProviderBuilderBuild database handler for specific provider.- Specified by:
buildin interfaceBuilder<DbClient>- Specified by:
buildin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Returns:
- database handler instance
-
config
public JdbcDbClientProviderBuilder config(Config config)
Description copied from interface:DbClientProviderBuilderUse database connection configuration from configuration file.- Specified by:
configin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
config-Configinstance with database connection attributes- Returns:
- database provider builder
-
connectionPool
public JdbcDbClientProviderBuilder connectionPool(ConnectionPool connectionPool)
Configure a connection pool.- Parameters:
connectionPool- connection pool to get connections to a database- Returns:
- updated builder instance
-
executorService
public JdbcDbClientProviderBuilder executorService(Supplier<ExecutorService> executorServiceSupplier)
Configure an explicit executor service supplier. The executor service is used to execute blocking calls to a database.- Parameters:
executorServiceSupplier- supplier to obtain an executor service from- Returns:
- updated builder instance
-
url
public JdbcDbClientProviderBuilder url(String url)
Description copied from interface:DbClientProviderBuilderSet database connection string (URL).- Specified by:
urlin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
url- database connection string- Returns:
- database provider builder
-
username
public JdbcDbClientProviderBuilder username(String username)
Description copied from interface:DbClientProviderBuilderSet database connection user name.- Specified by:
usernamein interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
username- database connection user name- Returns:
- database provider builder
-
password
public JdbcDbClientProviderBuilder password(String password)
Description copied from interface:DbClientProviderBuilderSet database connection p¨assword.- Specified by:
passwordin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
password- database connection password- Returns:
- database provider builder
-
statements
public JdbcDbClientProviderBuilder statements(DbStatements statements)
Description copied from interface:DbClientProviderBuilderStatements to use either from configuration or manually configured.- Specified by:
statementsin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
statements- Statements to use- Returns:
- updated builder instance
-
addMapper
public <TYPE> JdbcDbClientProviderBuilder addMapper(DbMapper<TYPE> dbMapper, Class<TYPE> mappedClass)
Description copied from interface:DbClientProviderBuilderAdd a custom mapper.- Specified by:
addMapperin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Type Parameters:
TYPE- type of the supported class- Parameters:
dbMapper- the mapper capable of mapping the mappedClass to various database objectsmappedClass- class that this mapper supports- Returns:
- updated builder instance.
-
addMapper
public <TYPE> JdbcDbClientProviderBuilder addMapper(DbMapper<TYPE> dbMapper, GenericType<TYPE> mappedType)
Description copied from interface:DbClientProviderBuilderAdd a custom mapper with generic types support.- Specified by:
addMapperin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Type Parameters:
TYPE- type of the supported class- Parameters:
dbMapper- the mapper capable of mapping the mappedClass to various database objectsmappedType- type that this mapper supports- Returns:
- updated builder instance.
-
mapperManager
public JdbcDbClientProviderBuilder mapperManager(MapperManager manager)
Description copied from interface:DbClientProviderBuilderMapper manager for generic mapping, such as mapping of parameters to expected types.- Specified by:
mapperManagerin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
manager- mapper manager- Returns:
- updated builder instance
-
addMapperProvider
public JdbcDbClientProviderBuilder addMapperProvider(DbMapperProvider provider)
Description copied from interface:DbClientProviderBuilderDatabase schema mappers provider.- Specified by:
addMapperProviderin interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
provider- database schema mappers provider to use- Returns:
- updated builder instance
-
addService
public JdbcDbClientProviderBuilder addService(DbClientService clientService)
Description copied from interface:DbClientProviderBuilderAdd an interceptor. This allows to add implementation of tracing, metrics, logging etc. without the need to hard-code these into the base.- Specified by:
addServicein interfaceDbClientProviderBuilder<JdbcDbClientProviderBuilder>- Parameters:
clientService- interceptor instance- Returns:
- updated builder instance
-
-