Module org.jooq
Package org.jooq

Interface Configuration

All Superinterfaces:
Serializable
All Known Implementing Classes:
AbstractConfiguration, DefaultConfiguration, MockConfiguration

public interface Configuration extends Serializable
A Configuration configures a DSLContext, providing it with information for query rendering and execution.

A Configuration wraps all information elements that are needed...

A Configuration is composed of types composing its state and of SPIs:

Types composing its state:

  • dialect(): The SQLDialect that defines the underlying database's behaviour when generating SQL syntax, or bind variables, or when executing the query
  • settings(): The Settings that define general jOOQ behaviour
  • data(): A Map containing user-defined data for the Scope of this configuration.

SPIs:

Thread safety

The simplest usage of a Configuration instance is to use it exactly for a single Query execution, disposing it immediately. This will make it very simple to implement thread-safe behaviour, but reflection caches will not be used optimally, e.g. when using DefaultRecordMapper.

At the same time, jOOQ does not require Configuration instances to be that short-lived. Thread-safety will then be delegated to component objects, such as the ConnectionProvider, the ExecuteListener list, etc.

For a Configuration to be used in a thread safe way, all set() methods must be avoided post initialisation, and settings() must not be modified either. If you wish to create a derived configuration for local usage, with some configuration parts changed, use the various derive() methods, instead.

Author:
Lukas Eder
  • Method Details

    • dsl

      @NotNull @NotNull DSLContext dsl()
      Wrap this Configuration in a DSLContext, providing access to the configuration-contextual DSL to construct executable queries.

      In the DefaultConfiguration implementation, this is just convenience for DSL.using(Configuration). There's no functional difference between the two methods.

    • data

      @NotNull @NotNull Map<Object,Object> data()
      Get all custom data from this Configuration.

      This is custom data that was previously set to the configuration using data(Object, Object). Use custom data if you want to pass data to your custom QueryPart or ExecuteListener objects to be made available at render, bind, execution, fetch time.

      See ExecuteListener for more details.

      Returns:
      The custom data. This is never null
      See Also:
    • data

      @Nullable @Nullable Object data(Object key)
      Get some custom data from this Configuration.

      This is custom data that was previously set to the configuration using data(Object, Object). Use custom data if you want to pass data to your custom QueryPart or ExecuteListener objects to be made available at render, bind, execution, fetch time.

      See ExecuteListener for more details.

      Parameters:
      key - A key to identify the custom data
      Returns:
      The custom data or null if no such data is contained in this Configuration
      See Also:
    • data

      @Nullable @Nullable Object data(Object key, Object value)
      Set some custom data to this Configuration.

      Use custom data if you want to pass data to your custom QueryPart or ExecuteListener objects to be made available at render, bind, execution, fetch time.

      Be sure that your custom data implements Serializable if you want to serialise this Configuration or objects referencing this Configuration, e.g. your Record types.

      See ExecuteListener for more details.

      Parameters:
      key - A key to identify the custom data
      value - The custom data
      Returns:
      The previously set custom data or null if no data was previously set for the given key
      See Also:
    • clock

      @NotNull @NotNull Clock clock()
      Get this configuration's Clock, which is used for optimistic locking, transaction time, and other time-depending features.
    • connectionProvider

      @NotNull @NotNull ConnectionProvider connectionProvider()
      Get this configuration's underlying connection provider.
    • connectionFactory

      @NotNull @NotNull io.r2dbc.spi.ConnectionFactory connectionFactory()
      Get this configuration's underlying R2DBC connection factory.
    • interpreterConnectionProvider

      @NotNull @NotNull ConnectionProvider interpreterConnectionProvider()
      Get this configuration's underlying interpreter connection provider, which provides connections for DDL interpretation.
      See Also:
    • systemConnectionProvider

      @NotNull @NotNull ConnectionProvider systemConnectionProvider()
      Get this configuration's underlying system connection provider, which provides connections for system tasks.

      System tasks may include the generation of auxiliary data types or stored procedures, which users may want to generate using a different data source or transaction. By default, this connection provider is the same as connectionProvider().

    • metaProvider

      @NotNull @NotNull MetaProvider metaProvider()
      Get this configuration's underlying meta provider.
    • commitProvider

      @NotNull @NotNull CommitProvider commitProvider()
      Get this configuration's underlying commit provider.
    • executorProvider

      @NotNull @NotNull ExecutorProvider executorProvider()
      Get this configuration's underlying executor provider.

      Asynchronous operations will call back to this SPI to obtain an executor. This applies, for example, to ResultQuery.fetchAsync().

      The following logic is applied when resolving the appropriate executor:

      1. If executorProvider() does not return null, then ExecutorProvider.provide() is called to obtain an Executor for the asynchronous task.
      2. In the jOOQ Java 8 distribution, ForkJoinPool.commonPool() is used if ForkJoinPool.getCommonPoolParallelism() > 1
      3. A new "one thread per call" Executor is used in any other case.

      The SPI will not be called if an asynchronous operation explicitly overrides the Executor, e.g. as is the case for ResultQuery.fetchAsync(Executor).

    • cacheProvider

      @NotNull @NotNull CacheProvider cacheProvider()
      Get this configuration's underlying cache provider.

      Cached operations will call this SPI to obtain a thread safe cache implementation to cache various things internally. This SPI allows for replacing the default cache implementation, which is mostly a ConcurrentHashMap, by a more specialised one, e.g. a LRU cache, e.g. from Guava.

    • transactionProvider

      @NotNull @NotNull TransactionProvider transactionProvider()
      Get this configuration's underlying transaction provider.

      If no explicit transaction provider was specified, and if connectionProvider() is a DefaultConnectionProvider, then this will return a DefaultTransactionProvider.

    • transactionListenerProviders

      @NotNull @NotNull TransactionListenerProvider @NotNull [] transactionListenerProviders()
      Get the configured TransactionListenerProviders from this configuration.
    • diagnosticsListenerProviders

      @NotNull @NotNull DiagnosticsListenerProvider @NotNull [] diagnosticsListenerProviders()
      Get the configured DiagnosticsListenerProviders from this configuration.
    • unwrapperProvider

      @NotNull @NotNull UnwrapperProvider unwrapperProvider()
      Get the configured UnwrapperProvider from this configuration.
    • charsetProvider

      @NotNull @NotNull CharsetProvider charsetProvider()
      Get the configured CharsetProvider from this configuration.
    • recordMapperProvider

      @NotNull @NotNull RecordMapperProvider recordMapperProvider()
      Get this configuration's underlying record mapper provider.
    • recordUnmapperProvider

      @NotNull @NotNull RecordUnmapperProvider recordUnmapperProvider()
      Get this configuration's underlying record unmapper provider.
    • recordListenerProviders

      @NotNull @NotNull RecordListenerProvider @NotNull [] recordListenerProviders()
      Get the configured RecordListenerProviders from this configuration.

      This method allows for retrieving the configured RecordListenerProvider from this configuration. The providers will provide jOOQ with RecordListener instances. These instances receive record manipulation notification events every time jOOQ executes queries. jOOQ makes no assumptions about the internal state of these listeners, i.e. listener instances may

      • share this Configuration's lifecycle (i.e. that of a JDBC Connection, or that of a transaction)
      • share the lifecycle of an RecordContext (i.e. that of a single record manipulation)
      • follow an entirely different lifecycle.
      Returns:
      The configured set of record listeners.
      See Also:
    • executeListenerProviders

      @NotNull @NotNull ExecuteListenerProvider @NotNull [] executeListenerProviders()
      Get the configured ExecuteListenerProviders from this configuration.

      This method allows for retrieving the configured ExecuteListenerProvider from this configuration. The providers will provide jOOQ with ExecuteListener instances. These instances receive execution lifecycle notification events every time jOOQ executes queries. jOOQ makes no assumptions about the internal state of these listeners, i.e. listener instances may

      • share this Configuration's lifecycle (i.e. that of a JDBC Connection, or that of a transaction)
      • share the lifecycle of an ExecuteContext (i.e. that of a single query execution)
      • follow an entirely different lifecycle.

      Note, depending on your Settings.isExecuteLogging(), some additional listeners may be prepended to this list, internally. Those listeners will never be exposed through this method, though.

      Returns:
      The configured set of execute listeners.
      See Also:
    • migrationListenerProviders

      @NotNull @NotNull MigrationListenerProvider @NotNull [] migrationListenerProviders()
      Get the configured MigrationListenerProviders from this configuration.

      This method allows for retrieving the configured MigrationListenerProvider from this configuration. The providers will provide jOOQ with MigrationListener instances. These instances receive migration lifecycle notification events every time jOOQ executes migrations. jOOQ makes no assumptions about the internal state of these listeners, i.e. listener instances may

      • share this Configuration's lifecycle (i.e. that of a JDBC Connection, or that of a transaction)
      • share the lifecycle of an MigrationContext (i.e. that of a single query execution)
      • follow an entirely different lifecycle.
      Returns:
      The configured set of migration listeners.
      See Also:
    • visitListenerProviders

      @NotNull @NotNull VisitListenerProvider @NotNull [] visitListenerProviders()
      Get the configured VisitListenerProvider instances from this configuration.

      This method allows for retrieving the configured VisitListenerProvider instances from this configuration. The providers will provide jOOQ with VisitListener instances. These instances receive query rendering lifecycle notification events every time jOOQ renders queries. jOOQ makes no assumptions about the internal state of these listeners, i.e. listener instances may

      • share this Configuration's lifecycle (i.e. that of a JDBC Connection, or that of a transaction)
      • share the lifecycle of an ExecuteContext (i.e. that of a single query execution)
      • follow an entirely different lifecycle.
      Returns:
      The configured set of visit listeners.
      See Also:
    • converterProvider

      @NotNull @NotNull ConverterProvider converterProvider()
      Get the configured ConverterProvider from this configuration.
    • formattingProvider

      @NotNull @NotNull FormattingProvider formattingProvider()
      Get the configured FormattingProvider from this configuration.
    • parseListenerProviders

      @Pro @NotNull @NotNull ParseListenerProvider @NotNull [] parseListenerProviders()
      Get the configured ParseListenerProvider instances from this configuration.
    • auditProvider

      @Pro @NotNull @NotNull AuditProvider auditProvider()
      Get the configured AuditProvider from this configuration.
    • policyProviders

      @Pro @NotNull @NotNull PolicyProvider @NotNull [] policyProviders()
      Get the configured PolicyProvider instances from this configuration.
    • transformProvider

      @Pro @NotNull @NotNull TransformProvider transformProvider()
      Get the configured TransformProvider from this configuration.
    • schemaMapping

      @NotNull @Deprecated(forRemoval=true, since="2.0") @NotNull SchemaMapping schemaMapping()
      Deprecated, for removal: This API element is subject to removal in a future version.
      - 2.0.5 - Use settings() instead
      Retrieve the configured schema mapping.
    • dialect

      @NotNull @NotNull SQLDialect dialect()
      Retrieve the configured dialect.
    • family

      @NotNull @NotNull SQLDialect family()
      Retrieve the family of the configured dialect.
    • settings

      @NotNull @NotNull Settings settings()
      Retrieve the runtime configuration settings.
    • set

      @NotNull @NotNull Configuration set(Clock newClock)
      Change this configuration to hold a new Clock.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newClock - The new clock to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(ConnectionProvider newConnectionProvider)
      Change this configuration to hold a new connection provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newConnectionProvider - The new connection provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(MetaProvider newMetaProvider)
      Change this configuration to hold a new meta provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newMetaProvider - The new meta provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(CommitProvider newCommitProvider)
      Change this configuration to hold a new commit provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newCommitProvider - The new commit provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(ExecutorProvider newExecutorProvider)
      Change this configuration to hold a new executor provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecutorProvider - The new executor provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(CacheProvider newCacheProvider)
      Change this configuration to hold a new cache provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newCacheProvider - The new cache provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(Executor newExecutor)
      Change this configuration to hold a new executor.

      This will wrap the argument Executor in a DefaultExecutorProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecutor - The new executor to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(Connection newConnection)
      Change this configuration to hold a new connection wrapped in a DefaultConnectionProvider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newConnection - The new connection to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(DataSource newDataSource)
      Change this configuration to hold a new data source wrapped in a DataSourceConnectionProvider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDataSource - The new data source to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(io.r2dbc.spi.ConnectionFactory newConnectionFactory)
      Change this configuration to hold a new R2DBC connection factory.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newConnection - The new connection to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(TransactionProvider newTransactionProvider)
      Change this configuration to hold a new transaction provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransactionProvider - The new transaction provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordMapper<?,?> newRecordMapper)
      Change this configuration to hold a new record mapper.

      This will wrap the argument RecordMapper in a DefaultRecordMapperProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordMapper - The new record mapper to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordMapperProvider newRecordMapperProvider)
      Change this configuration to hold a new record mapper provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordMapperProvider - The new record mapper provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordUnmapper<?,?> newRecordUnmapper)
      Change this configuration to hold a new record unmapper.

      This will wrap the argument RecordUnmapper in a DefaultRecordUnmapperProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordUnmapper - The new record unmapper to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordUnmapperProvider newRecordUnmapperProvider)
      Change this configuration to hold a new record unmapper provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordUnmapperProvider - The new record unmapper provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordListener... newRecordListeners)
      Change this configuration to hold new record listeners.

      This will wrap the argument RecordListener in a DefaultRecordListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordListeners - The new record listener to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(RecordListener... newRecordListeners)
      Change this configuration by appending new record listeners.

      This will wrap the argument RecordListener in a DefaultRecordListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordListeners - The appended record listener to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(RecordListenerProvider... newRecordListenerProviders)
      Change this configuration to hold new record listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordListenerProviders - The new record listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(RecordListenerProvider... newRecordListenerProviders)
      Change this configuration by appending new record listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newRecordListenerProviders - The appended record listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(ExecuteListener... newExecuteListeners)
      Change this configuration to hold new execute listeners.

      This will wrap the argument ExecuteListener in a DefaultExecuteListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecuteListeners - The new execute listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(ExecuteListener... newExecuteListeners)
      Change this configuration by appending new execute listeners.

      This will wrap the argument ExecuteListener in a DefaultExecuteListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecuteListeners - The appended execute listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(ExecuteListenerProvider... newExecuteListenerProviders)
      Change this configuration to hold new execute listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecuteListenerProviders - The new execute listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(ExecuteListenerProvider... newExecuteListenerProviders)
      Change this configuration by appending new execute listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newExecuteListenerProviders - The appended execute listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(MigrationListener... newMigrationListeners)
      Change this configuration to hold new migration listeners.

      This will wrap the argument MigrationListener in a DefaultMigrationListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newMigrationListeners - The new migration listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(MigrationListener... newMigrationListeners)
      Change this configuration by appending new migration listeners.

      This will wrap the argument MigrationListener in a DefaultMigrationListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newMigrationListeners - The appended migration listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(MigrationListenerProvider... newMigrationListenerProviders)
      Change this configuration to hold new migration listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newMigrationListenerProviders - The new migration listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(MigrationListenerProvider... newMigrationListenerProviders)
      Change this configuration to hold by appending new migration listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newMigrationListenerProviders - The appended migration listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(VisitListener... newVisitListeners)
      Change this configuration to hold a new visit listeners.

      This will wrap the argument VisitListener in a DefaultVisitListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newVisitListeners - The new visit listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(VisitListener... newVisitListeners)
      Change this configuration to hold new visit listeners.

      This will wrap the argument VisitListener in a DefaultVisitListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newVisitListeners - The new visit listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(VisitListenerProvider... newVisitListenerProviders)
      Change this configuration to hold new visit listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newVisitListenerProviders - The new visit listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(VisitListenerProvider... newVisitListenerProviders)
      Change this configuration by appending new visit listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newVisitListenerProviders - The appended visit listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(TransactionListener... newTransactionListeners)
      Change this configuration to hold new transaction listeners.

      This will wrap the argument TransactionListener in a DefaultTransactionListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransactionListeners - The new transaction listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(TransactionListener... newTransactionListeners)
      Change this configuration by appending new transaction listeners.

      This will wrap the argument TransactionListener in a DefaultTransactionListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransactionListeners - The appended transaction listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(TransactionListenerProvider... newTransactionListenerProviders)
      Change this configuration to hold new transaction listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransactionListenerProviders - The new transaction listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(TransactionListenerProvider... newTransactionListenerProviders)
      Change this configuration by appending new transaction listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransactionListenerProviders - The appended transaction listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(DiagnosticsListener... newDiagnosticsListeners)
      Change this configuration to hold new diagnostics listeners.

      This will wrap the argument DiagnosticsListener in a DefaultDiagnosticsListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDiagnosticsListeners - The new diagnostics listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(DiagnosticsListener... newDiagnosticsListeners)
      Change this configuration by appending new diagnostics listeners.

      This will wrap the argument DiagnosticsListener in a DefaultDiagnosticsListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDiagnosticsListeners - The new diagnostics listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(DiagnosticsListenerProvider... newDiagnosticsListenerProviders)
      Change this configuration to hold new diagnostics listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDiagnosticsListenerProviders - The new diagnostics listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @NotNull @NotNull Configuration setAppending(DiagnosticsListenerProvider... newDiagnosticsListenerProviders)
      Change this configuration by appending new diagnostics listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDiagnosticsListenerProviders - The new diagnostics listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(Unwrapper newUnwrapper)
      Change this configuration to hold a new unwrapper.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newUnwrapper - The new unwrapper to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(UnwrapperProvider newUnwrapperProvider)
      Change this configuration to hold a new unwrapper provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newUnwrapperProvider - The new unwrapper provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(CharsetProvider newCharsetProvider)
      Change this configuration to hold a new charset provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newCharsetProvider - The new charset provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(ConverterProvider newConverterProvider)
      Change this configuration to hold a new converter provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newConverterProvider - The new converter provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(FormattingProvider newFormattingProvider)
      Change this configuration to hold a new formatting provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newFormattingProvider - The new formatting provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @Pro @NotNull @NotNull Configuration set(ParseListener... newParseListeners)
      Change this configuration to hold new parse listeners.

      This will wrap the argument ParseListener in a DefaultParseListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newParseListeners - The new parse listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @Pro @NotNull @NotNull Configuration setAppending(ParseListener... newParseListeners)
      Change this configuration by appending new parse listeners.

      This will wrap the argument ParseListener in a DefaultParseListenerProvider for convenience.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newParseListeners - The appended parse listeners to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @Pro @NotNull @NotNull Configuration set(ParseListenerProvider... newParseListenerProviders)
      Change this configuration to hold new parse listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newParseListenerProviders - The new parse listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • setAppending

      @Pro @NotNull @NotNull Configuration setAppending(ParseListenerProvider... newParseListenerProviders)
      Change this configuration by appending new parse listener providers.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newParseListenerProviders - The appended parse listener providers to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @Pro @NotNull @NotNull Configuration set(AuditProvider newAuditProvider)
      Change this configuration to hold new audit provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newAuditProvider - The new audit provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @Pro @NotNull @NotNull Configuration set(PolicyProvider... newPolicyProviders)
      Change this configuration to hold new policy provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newPolicyProviders - The new policy provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @Pro @NotNull @NotNull Configuration set(TransformProvider newTransformProvider)
      Change this configuration to hold new transform provider.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newTransformProvider - The new transform provider to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(SQLDialect newDialect)
      Change this configuration to hold a new dialect.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newDialect - The new dialect to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • set

      @NotNull @NotNull Configuration set(Settings newSettings)
      Change this configuration to hold a new settings.

      This method is not thread-safe and should not be used in globally available Configuration objects.

      Parameters:
      newSettings - The new settings to be contained in the changed configuration.
      Returns:
      The changed configuration.
    • derive

      @NotNull @NotNull Configuration derive()
      Create a derived configuration from this one, without changing any properties.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(Clock newClock)
      Create a derived configuration from this one, with a new Clock.
      Parameters:
      newClock - The new clock to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(Connection newConnection)
      Create a derived configuration from this one, with a new connection wrapped in a DefaultConnectionProvider.
      Parameters:
      newConnection - The new connection to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(DataSource newDataSource)
      Create a derived configuration from this one, with a new data source wrapped in a DataSourceConnectionProvider.
      Parameters:
      newDataSource - The new data source to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(io.r2dbc.spi.ConnectionFactory newConnectionFactory)
      Create a derived configuration from this one, with a new R2DBC connection factory.
      Parameters:
      newConnectionFactory - The new connection factory to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(ConnectionProvider newConnectionProvider)
      Create a derived configuration from this one, with a new connection provider.
      Parameters:
      newConnectionProvider - The new connection provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(MetaProvider newMetaProvider)
      Create a derived configuration from this one, with a new meta provider.
      Parameters:
      newMetaProvider - The new meta provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(CommitProvider newCommitProvider)
      Create a derived configuration from this one, with a new commit provider.
      Parameters:
      newCommitProvider - The new commit provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(Executor newExecutor)
      Create a derived configuration from this one, with a new executor.

      This will wrap the argument Executor in a DefaultExecutorProvider for convenience.

      Parameters:
      newExecutor - The new executor to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(ExecutorProvider newExecutorProvider)
      Create a derived configuration from this one, with a new executor provider.
      Parameters:
      newExecutorProvider - The new executor provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(CacheProvider newCacheProvider)
      Create a derived configuration from this one, with a new cache provider.
      Parameters:
      newCacheProvider - The new cache provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(TransactionProvider newTransactionProvider)
      Create a derived configuration from this one, with a new transaction provider.
      Parameters:
      newTransactionProvider - The new transaction provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordMapper<?,?> newRecordMapper)
      Create a derived configuration from this one, with a new record mapper.

      This will wrap the argument RecordMapper in a DefaultRecordMapperProvider for convenience.

      Parameters:
      newRecordMapper - The new record mapper to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordMapperProvider newRecordMapperProvider)
      Create a derived configuration from this one, with a new record mapper provider.
      Parameters:
      newRecordMapperProvider - The new record mapper provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordUnmapper<?,?> newRecordUnmapper)
      Create a derived configuration from this one, with a new record unmapper.

      This will wrap the argument RecordUnmapper in a DefaultRecordUnmapperProvider for convenience.

      Parameters:
      newRecordUnmapper - The new record unmapper to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordUnmapperProvider newRecordUnmapperProvider)
      Create a derived configuration from this one, with a new record unmapper provider.
      Parameters:
      newRecordUnmapperProvider - The new record unmapper provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordListener... newRecordListeners)
      Create a derived configuration from this one, with new record listeners.

      This will wrap the argument RecordListener in a DefaultRecordListenerProvider for convenience.

      Parameters:
      newRecordListeners - The new record listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(RecordListener... newRecordListeners)
      Create a derived configuration from this one, with appended record listeners.

      This will wrap the argument RecordListener in a DefaultRecordListenerProvider for convenience.

      Parameters:
      newRecordListeners - The appended record listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(RecordListenerProvider... newRecordListenerProviders)
      Create a derived configuration from this one, with new record listener providers.
      Parameters:
      newRecordListenerProviders - The new record listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(RecordListenerProvider... newRecordListenerProviders)
      Create a derived configuration from this one, with appended record listener providers.
      Parameters:
      newRecordListenerProviders - The appended record listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(ExecuteListener... newExecuteListeners)
      Create a derived configuration from this one, with new execute listeners.

      This will wrap the argument ExecuteListener in a DefaultExecuteListenerProvider for convenience.

      Parameters:
      newExecuteListeners - The new execute listener to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(ExecuteListener... newExecuteListeners)
      Create a derived configuration from this one, with appended execute listeners.

      This will wrap the argument ExecuteListener in a DefaultExecuteListenerProvider for convenience.

      Parameters:
      newExecuteListeners - The appended execute listener to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(ExecuteListenerProvider... newExecuteListenerProviders)
      Create a derived configuration from this one, with new execute listener providers.
      Parameters:
      newExecuteListenerProviders - The new execute listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(ExecuteListenerProvider... newExecuteListenerProviders)
      Create a derived configuration from this one, with appended execute listener providers.
      Parameters:
      newExecuteListenerProviders - The appended execute listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(MigrationListener... newMigrationListeners)
      Create a derived configuration from this one, with new migration listeners.

      This will wrap the argument MigrationListener in a DefaultMigrationListenerProvider for convenience.

      Parameters:
      newMigrationListeners - The new migration listener to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(MigrationListener... newMigrationListeners)
      Create a derived configuration from this one, with appended migration listeners.

      This will wrap the argument MigrationListener in a DefaultMigrationListenerProvider for convenience.

      Parameters:
      newMigrationListeners - The appended migration listener to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(MigrationListenerProvider... newMigrationListenerProviders)
      Create a derived configuration from this one, with new migration listener providers.
      Parameters:
      newMigrationListenerProviders - The new migration listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(MigrationListenerProvider... newMigrationListenerProviders)
      Create a derived configuration from this one, with appended migration listener providers.
      Parameters:
      newMigrationListenerProviders - The appended migration listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(VisitListener... newVisitListeners)
      Create a derived configuration from this one, with new visit listeners.

      This will wrap the argument VisitListener in a DefaultVisitListenerProvider for convenience.

      Parameters:
      newVisitListeners - The new visit listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(VisitListener... newVisitListeners)
      Create a derived configuration from this one, with appended visit listeners.

      This will wrap the argument VisitListener in a DefaultVisitListenerProvider for convenience.

      Parameters:
      newVisitListeners - The appended visit listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(VisitListenerProvider... newVisitListenerProviders)
      Create a derived configuration from this one, with new visit listener providers.
      Parameters:
      newVisitListenerProviders - The new visit listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(VisitListenerProvider... newVisitListenerProviders)
      Create a derived configuration from this one, with appended visit listener providers.
      Parameters:
      newVisitListenerProviders - The appended visit listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(TransactionListener... newTransactionListeners)
      Create a derived configuration from this one, with new transaction listeners.

      This will wrap the argument TransactionListener in a DefaultTransactionListenerProvider for convenience.

      Parameters:
      newTransactionListeners - The new transaction listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(TransactionListener... newTransactionListeners)
      Create a derived configuration from this one, with appended transaction listeners.

      This will wrap the argument TransactionListener in a DefaultTransactionListenerProvider for convenience.

      Parameters:
      newTransactionListeners - The appended transaction listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(TransactionListenerProvider... newTransactionListenerProviders)
      Create a derived configuration from this one, with new transaction listener providers.
      Parameters:
      newTransactionListenerProviders - The new transaction listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(TransactionListenerProvider... newTransactionListenerProviders)
      Create a derived configuration from this one, with appended transaction listener providers.
      Parameters:
      newTransactionListenerProviders - The appended transaction listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(DiagnosticsListener... newDiagnosticsListeners)
      Create a derived configuration from this one, with new diagnostics listeners.
      Parameters:
      newDiagnosticsListeners - The new diagnostics listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(DiagnosticsListener... newDiagnosticsListeners)
      Create a derived configuration from this one, with appended diagnostics listeners.
      Parameters:
      newDiagnosticsListeners - The appended diagnostics listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(DiagnosticsListenerProvider... newDiagnosticsListenerProviders)
      Create a derived configuration from this one, with new diagnostics listener providers.
      Parameters:
      newDiagnosticsListenerProviders - The new diagnostics listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @NotNull Configuration deriveAppending(DiagnosticsListenerProvider... newDiagnosticsListenerProviders)
      Create a derived configuration from this one, with appended diagnostics listener providers.
      Parameters:
      newDiagnosticsListenerProviders - The appended diagnostics listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(Unwrapper newUnwrapper)
      Create a derived configuration from this one, with a new unwrapper.
      Parameters:
      newUnwrapper - The new unwrapper to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(UnwrapperProvider newUnwrapperProvider)
      Create a derived configuration from this one, with a new unwrapper provider.
      Parameters:
      newUnwrapperProvider - The new unwrapper provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(CharsetProvider newCharsetProvider)
      Create a derived configuration from this one, with a new charset provider.
      Parameters:
      newCharsetProvider - The new charset provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(ConverterProvider newConverterProvider)
      Create a derived configuration from this one, with new converter provider.
      Parameters:
      newConverterProvider - The new converter provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(FormattingProvider newFormattingProvider)
      Create a derived configuration from this one, with new formatting provider.
      Parameters:
      newFormattingProvider - The new formatting provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @Pro @NotNull @NotNull Configuration derive(ParseListener... newParseListeners)
      Create a derived configuration from this one, with new parse listeners.
      Parameters:
      newParseListeners - The new parse listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @Pro @NotNull @NotNull Configuration deriveAppending(ParseListener... newParseListeners)
      Create a derived configuration from this one, with appended parse listeners.
      Parameters:
      newParseListeners - The appended parse listeners to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @Pro @NotNull @NotNull Configuration derive(ParseListenerProvider... newParseListenerProviders)
      Create a derived configuration from this one, with new parse listener providers.
      Parameters:
      newParseListenerProviders - The new parse listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @Pro @NotNull @NotNull Configuration deriveAppending(ParseListenerProvider... newParseListenerProviders)
      Create a derived configuration from this one, with appended parse listener providers.
      Parameters:
      newParseListenerProviders - The appended parse listener providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @Pro @NotNull @NotNull Configuration derive(AuditProvider newAuditProvider)
      Create a derived configuration from this one, with a new audit provider.
      Parameters:
      newAuditProvider - The new audit provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @Pro @NotNull @NotNull Configuration derive(PolicyProvider... newPolicyProviders)
      Create a derived configuration from this one, with a new policy provider.
      Parameters:
      newPolicyProviders - The new policy providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveAppending

      @NotNull @Pro @NotNull Configuration deriveAppending(PolicyProvider... newPolicyProvider)
      Create a derived configuration from this one, with appended policy providers.
      Parameters:
      newPolicyProvider - The appended policy providers to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @Pro @NotNull @NotNull Configuration derive(TransformProvider newTransformProvider)
      Create a derived configuration from this one, with a new transform provider.
      Parameters:
      newTransformProvider - The new transform provider to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(SQLDialect newDialect)
      Create a derived configuration from this one, with a new dialect.
      Parameters:
      newDialect - The new dialect to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • derive

      @NotNull @NotNull Configuration derive(Settings newSettings)
      Create a derived configuration from this one, with new settings.
      Parameters:
      newSettings - The new settings to be contained in the derived configuration.
      Returns:
      The derived configuration.
    • deriveSettings

      @NotNull @NotNull Configuration deriveSettings(Function<? super Settings,? extends Settings> newSettings)
      Create a derived configuration from this one, with new settings constructed from a clone of the current settings.
      Parameters:
      newSettings - A function producing the new settings to be contained in the derived configuration based on a clone of the current settings.
      Returns:
      The derived configuration.
    • commercial

      default boolean commercial()
      Whether this is a commercial edition of jOOQ.
    • commercial

      boolean commercial(Supplier<String> logMessage)
      Whether this is a commercial edition of jOOQ, logging a warning message, if not.
    • requireCommercial

      boolean requireCommercial(Supplier<String> logMessage) throws DataAccessException
      Whether this is a commercial edition of jOOQ, throwing an exception with a message, if not.
      Throws:
      DataAccessException