Package ch.qos.logback.core.db

## Interface ConnectionSource

All Superinterfaces:
  `LifeCycle`

All Known Implementing Classes:
  `ConnectionSourceBase`, `DataSourceConnectionSource`, `DriverManagerConnectionSource`, `JNDIConnectionSource`

    public interface ConnectionSource
    extends LifeCycle

The <id>ConnectionSource</id> interface provides a pluggable means of transparently obtaining JDBC `Connection`s for logback classes that require the use of a `Connection`. For more information about this component, please refer to the online manual at http://logback.qos.ch/manual/appenders.html#DBAppender

Author:
  Ray DeCampo

### Method Summary

All Methods Instance Methods Abstract Methods
`java.sql.Connection` `getConnection()` Obtain a `Connection` for use.
`SQLDialectCode` `getSQLDialectCode()` Get the SQL dialect that should be used for this connection.
`boolean` `supportsBatchUpdates()` If the connection does not support batch updates, we will avoid using them.
`boolean` `supportsGetGeneratedKeys()` If the connection supports the JDBC 3.0 getGeneratedKeys method, then we do not need any specific dialect support.

### Methods inherited from interface ch.qos.logback.core.spi.LifeCycle

`isStarted, start, stop`

### Method Detail

#### getConnection

    java.sql.Connection getConnection()
                               throws java.sql.SQLException

Obtain a `Connection` for use. The client is responsible for closing the `Connection` when it is no longer required.

Throws:
  `java.sql.SQLException` - if a `Connection` could not be obtained

#### getSQLDialectCode

    SQLDialectCode getSQLDialectCode()

Get the SQL dialect that should be used for this connection. Note that the dialect is not needed if the JDBC driver supports the getGeneratedKeys method.

#### supportsGetGeneratedKeys

    boolean supportsGetGeneratedKeys()

If the connection supports the JDBC 3.0 getGeneratedKeys method, then we do not need any specific dialect support.

#### supportsBatchUpdates

    boolean supportsBatchUpdates()

If the connection does not support batch updates, we will avoid using them.