The Spring Framework

## org.springframework.jdbc.datasource
Class DelegatingDataSource

    java.lang.Object
      org.springframework.jdbc.datasource.DelegatingDataSource

All Implemented Interfaces:
  Wrapper, CommonDataSource, DataSource, InitializingBean

Direct Known Subclasses:
  LazyConnectionDataSourceProxy, TransactionAwareDataSourceProxy, UserCredentialsDataSourceAdapter

    public class DelegatingDataSource

extends Object
implements DataSource, InitializingBean

JDBC `DataSource` implementation that delegates all calls to a given target `DataSource`.

This class is meant to be subclassed, with subclasses overriding only those methods (such as `getConnection()`) that should not simply delegate to the target DataSource.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `getConnection()`

Constructor Summary
`DelegatingDataSource()` Create a new DelegatingDataSource.
`DelegatingDataSource(DataSource targetDataSource)` Create a new DelegatingDataSource.

Method Summary
`void` `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`Connection` `getConnection()`
`Connection` `getConnection(String username, String password)`
`int` `getLoginTimeout()`
`PrintWriter` `getLogWriter()`
`DataSource` `getTargetDataSource()` Return the target DataSource that this DataSource should delegate to.
`boolean` `isWrapperFor(Class iface)`
`void` `setLoginTimeout(int seconds)`
`void` `setLogWriter(PrintWriter out)`
`void` `setTargetDataSource(DataSource targetDataSource)` Set the target DataSource that this DataSource should delegate to.
`Object` `unwrap(Class iface)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DelegatingDataSource

    public DelegatingDataSource()

  Create a new DelegatingDataSource.

  See Also:
    `setTargetDataSource(javax.sql.DataSource)`

### DelegatingDataSource

    public DelegatingDataSource(DataSource targetDataSource)

  Create a new DelegatingDataSource.

  Parameters:
    `targetDataSource` - the target DataSource

Method Detail

### setTargetDataSource

    public void setTargetDataSource(DataSource targetDataSource)

  Set the target DataSource that this DataSource should delegate to.

### getTargetDataSource

    public DataSource getTargetDataSource()

  Return the target DataSource that this DataSource should delegate to.

### afterPropertiesSet

    public void afterPropertiesSet()

  Description copied from interface: `InitializingBean`
  Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

  This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`

### getConnection

    public Connection getConnection()
                             throws SQLException

  Specified by:
    `getConnection` in interface `DataSource`
  Throws:
    `SQLException`

### getConnection

    public Connection getConnection(String username,
                                    String password)
                             throws SQLException

  Specified by:
    `getConnection` in interface `DataSource`
  Throws:
    `SQLException`

### getLogWriter

    public PrintWriter getLogWriter()
                             throws SQLException

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

### setLogWriter

    public void setLogWriter(PrintWriter out)
                      throws SQLException

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

### getLoginTimeout

    public int getLoginTimeout()
                        throws SQLException

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

### setLoginTimeout

    public void setLoginTimeout(int seconds)
                         throws SQLException

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

### unwrap

    public Object unwrap(Class 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`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.