Package org.apache.cayenne.datasource

## Class DriverDataSource

- java.lang.Object
- - org.apache.cayenne.datasource.DriverDataSource

- All Implemented Interfaces:
    `Wrapper`, `CommonDataSource`, `DataSource`

      public class DriverDataSource
      extends Object
      implements DataSource

  A non-pooling DataSource implementation wrapping a JDBC driver.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected String` | `connectionUrl` |
    `protected Driver` | `driver` |
    `protected String` | `password` |
    `protected String` | `userName` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DriverDataSource​(Driver driver, String connectionUrl, String userName, String password)` | Creates a DriverDataSource wrapping a given Driver.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Connection` | `getConnection()` | Returns a new database connection, using preconfigured data to locate the database and obtain a connection.
    `Connection` | `getConnection​(String userName, String password)` | Returns a new database connection using provided credentials to login to the database.
    `int` | `getLoginTimeout()` |
    `PrintWriter` | `getLogWriter()` |
    `Logger` | `getParentLogger()` |
    `boolean` | `isWrapperFor​(Class<?> iface)` |
    `void` | `setLoginTimeout​(int seconds)` |
    `void` | `setLogWriter​(PrintWriter out)` |
    `<T> T` | `unwrap​(Class<T> iface)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.sql.CommonDataSource

      `createShardingKeyBuilder`

    - ### Methods inherited from interface javax.sql.DataSource

      `createConnectionBuilder`

- - ### Field Detail

    - #### driver

          protected Driver driver

    - #### connectionUrl

          protected String connectionUrl

    - #### userName

          protected String userName

    - #### password

          protected String password

  - ### Constructor Detail

    - #### DriverDataSource

          public DriverDataSource​(Driver driver,
                                  String connectionUrl,
                                  String userName,
                                  String password)

      Creates a DriverDataSource wrapping a given Driver. If "driver" is null, DriverDataSource will consult DriverManager for a registered driver for the given URL. So when specifying null, a user must take care of registering the driver. "connectionUrl" on the other hand must NOT be null.
      Since:
        1.1

  - ### Method Detail

    - #### getConnection

          public Connection getConnection()
                                   throws SQLException

      Returns a new database connection, using preconfigured data to locate the database and obtain a connection.
      Specified by:
        `getConnection` in interface `DataSource`
      Throws:
        `SQLException`

    - #### getConnection

          public Connection getConnection​(String userName,
                                          String password)
                                   throws SQLException

      Returns a new database connection using provided credentials to login to the database.
      Specified by:
        `getConnection` in interface `DataSource`
      Throws:
        `SQLException`

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws SQLException

      Specified by:
        `getLoginTimeout` in interface `CommonDataSource`
      Specified by:
        `getLoginTimeout` in interface `DataSource`
      Throws:
        `SQLException`

    - #### setLoginTimeout

          public void setLoginTimeout​(int seconds)
                               throws SQLException

      Specified by:
        `setLoginTimeout` in interface `CommonDataSource`
      Specified by:
        `setLoginTimeout` in interface `DataSource`
      Throws:
        `SQLException`

    - #### getLogWriter

          public PrintWriter getLogWriter()
                                   throws SQLException

      Specified by:
        `getLogWriter` in interface `CommonDataSource`
      Specified by:
        `getLogWriter` in interface `DataSource`
      Throws:
        `SQLException`

    - #### setLogWriter

          public void setLogWriter​(PrintWriter out)
                            throws SQLException

      Specified by:
        `setLogWriter` in interface `CommonDataSource`
      Specified by:
        `setLogWriter` in interface `DataSource`
      Throws:
        `SQLException`

    - #### isWrapperFor

          public boolean isWrapperFor​(Class<?> iface)
                               throws SQLException

      Specified by:
        `isWrapperFor` in interface `Wrapper`
      Throws:
        `SQLException`
      Since:
        3.0

    - #### unwrap

          public <T> T unwrap​(Class<T> iface)
                       throws SQLException

      Specified by:
        `unwrap` in interface `Wrapper`
      Throws:
        `SQLException`
      Since:
        3.0

    - #### getParentLogger

          public Logger getParentLogger()
                                 throws SQLFeatureNotSupportedException

      Specified by:
        `getParentLogger` in interface `CommonDataSource`
      Throws:
        `SQLFeatureNotSupportedException`
      Since:
        3.1