package com.mossle.core.jdbc;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
/**
* dataSource proxy.
*
* @author Lingo
*/
public class DataSourceProxy extends MockDataSource {
private DataSource targetDataSource;
/**
* get connection.
*
* @return Connection
* @throws SQLException
* sql exception
*/
public Connection getConnection() throws SQLException {
return this.targetDataSource.getConnection();
}
/**
* get connection.
*
* @param username
* String
* @param password
* String
* @return Connection
* @throws SQLException
* sql exception
*/
public Connection getConnection(String username, String password)
throws SQLException {
return this.targetDataSource.getConnection(username, password);
}
/**
* get log writer.
*
* @return PrintWriter
* @throws SQLException
* sql exception
*/
public PrintWriter getLogWriter() throws SQLException {
return this.targetDataSource.getLogWriter();
}
/**
* set log writer.
*
* @param out
* PrintWriter
* @throws SQLException
* sql exception
*/
public void setLogWriter(PrintWriter out) throws SQLException {
this.targetDataSource.setLogWriter(out);
}
/**
* set login timeout.
*
* @param seconds
* int
* @throws SQLException
* sql exception
*/
public void setLoginTimeout(int seconds) throws SQLException {
this.targetDataSource.setLoginTimeout(seconds);
}
/**
* get login timeout.
*
* @return login timeout
* @throws SQLException
* sql exception
*/
public int getLoginTimeout() throws SQLException {
return this.targetDataSource.getLoginTimeout();
}
// JDK 6
public boolean isWrapperFor(Class<?> iface) throws SQLException {
return this.targetDataSource.isWrapperFor(iface);
}
// JDK 6
public <T> T unwrap(Class<T> iface) throws SQLException {
return this.targetDataSource.unwrap(iface);
}
// ~ ======================================================================
public DataSource getTargetDataSource() {
return this.targetDataSource;
}
public void setTargetDataSource(DataSource targetDataSource) {
this.targetDataSource = targetDataSource;
}
}