org.springframework.jdbc.datasource

## Class AbstractDataSource

- java.lang.Object
- - org.springframework.jdbc.datasource.AbstractDataSource

- All Implemented Interfaces:
    Wrapper, CommonDataSource, DataSource
  Direct Known Subclasses:
    AbstractDriverBasedDataSource, AbstractRoutingDataSource

      public abstract class AbstractDataSource
      extends Object
      implements DataSource

  Abstract base class for Spring's `DataSource` implementations, taking care of the padding.

  'Padding' in the context of this class means default implementations for certain methods from the `DataSource` interface, such as `getLoginTimeout()`, `setLoginTimeout(int)`, and so forth.

  Since:
    07.05.2003
  Author:
    Juergen Hoeller
  See Also:
    `DriverManagerDataSource`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `logger` Logger available to subclasses

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractDataSource()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getLoginTimeout()` Returns 0, indicating the default system timeout is to be used.
    `PrintWriter` | `getLogWriter()` LogWriter methods are not supported.
    `Logger` | `getParentLogger()`
    `boolean` | `isWrapperFor(Class<?> iface)`
    `void` | `setLoginTimeout(int timeout)` Setting a login timeout is not supported.
    `void` | `setLogWriter(PrintWriter pw)` LogWriter methods are not supported.
    `<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.DataSource

      `getConnection, getConnection`

- - ### Field Detail

    - #### logger

          protected final Log logger

      Logger available to subclasses

  - ### Constructor Detail

    - #### AbstractDataSource

          public AbstractDataSource()

  - ### Method Detail

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws SQLException

      Returns 0, indicating the default system timeout is to be used.
      Specified by:
        `getLoginTimeout` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### setLoginTimeout

          public void setLoginTimeout(int timeout)
                               throws SQLException

      Setting a login timeout is not supported.
      Specified by:
        `setLoginTimeout` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### getLogWriter

          public PrintWriter getLogWriter()

      LogWriter methods are not supported.
      Specified by:
        `getLogWriter` in interface `CommonDataSource`

    - #### setLogWriter

          public void setLogWriter(PrintWriter pw)
                            throws SQLException

      LogWriter methods are not supported.
      Specified by:
        `setLogWriter` in interface `CommonDataSource`
      Throws:
        `SQLException`

    - #### unwrap

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

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

    - #### isWrapperFor

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

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

    - #### getParentLogger

          public Logger getParentLogger()

      Specified by:
        `getParentLogger` in interface `CommonDataSource`