org.springframework.jdbc.support.nativejdbc
Class CommonsDbcpNativeJdbcExtractor

java.lang.Object
  extended by org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
      extended by org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor
All Implemented Interfaces:
NativeJdbcExtractor

public class CommonsDbcpNativeJdbcExtractor
extends NativeJdbcExtractorAdapter

Implementation of the NativeJdbcExtractor interface for the Jakarta Commons DBCP connection pool, version 1.1 or higher.

Returns the underlying native Connection, Statement, etc to application code instead of DBCP's wrapper implementations. The returned JDBC classes can then safely be cast, e.g. to oracle.jdbc.OracleConnection.

This NativeJdbcExtractor can be set just to allow working with a Commons DBCP DataSource: If a given object is not a Commons DBCP wrapper, it will be returned as-is.

Note that this version of CommonsDbcpNativeJdbcExtractor will work against the original Commons DBCP in org.apache.commons.dbcp as well as against Tomcat 5.5's relocated Commons DBCP version in the org.apache.tomcat.dbcp.dbcp package.

Since:
25.08.2003
Author:
Juergen Hoeller

Constructor Summary
CommonsDbcpNativeJdbcExtractor()
           
 
Method Summary
protected  Connection doGetNativeConnection(Connection con)
          Not able to unwrap: return passed-in Connection.
 CallableStatement getNativeCallableStatement(CallableStatement cs)
          Not able to unwrap: return passed-in CallableStatement.
 PreparedStatement getNativePreparedStatement(PreparedStatement ps)
          Not able to unwrap: return passed-in PreparedStatement.
 ResultSet getNativeResultSet(ResultSet rs)
          Not able to unwrap: return passed-in ResultSet.
 Statement getNativeStatement(Statement stmt)
          Not able to unwrap: return passed-in Statement.
 
Methods inherited from class org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractorAdapter
getNativeConnection, getNativeConnectionFromStatement, isNativeConnectionNecessaryForNativeCallableStatements, isNativeConnectionNecessaryForNativePreparedStatements, isNativeConnectionNecessaryForNativeStatements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommonsDbcpNativeJdbcExtractor

public CommonsDbcpNativeJdbcExtractor()
Method Detail

doGetNativeConnection

protected Connection doGetNativeConnection(Connection con)
                                    throws SQLException
Description copied from class: NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in Connection.

Overrides:
doGetNativeConnection in class NativeJdbcExtractorAdapter
Throws:
SQLException

getNativeStatement

public Statement getNativeStatement(Statement stmt)
                             throws SQLException
Description copied from class: NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in Statement.

Specified by:
getNativeStatement in interface NativeJdbcExtractor
Overrides:
getNativeStatement in class NativeJdbcExtractorAdapter
Parameters:
stmt - the Statement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC Statement, if possible; else, the original Statement
Throws:
SQLException - if thrown by JDBC methods

getNativePreparedStatement

public PreparedStatement getNativePreparedStatement(PreparedStatement ps)
                                             throws SQLException
Description copied from class: NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in PreparedStatement.

Specified by:
getNativePreparedStatement in interface NativeJdbcExtractor
Overrides:
getNativePreparedStatement in class NativeJdbcExtractorAdapter
Parameters:
ps - the PreparedStatement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC PreparedStatement, if possible; else, the original PreparedStatement
Throws:
SQLException - if thrown by JDBC methods

getNativeCallableStatement

public CallableStatement getNativeCallableStatement(CallableStatement cs)
                                             throws SQLException
Description copied from class: NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in CallableStatement.

Specified by:
getNativeCallableStatement in interface NativeJdbcExtractor
Overrides:
getNativeCallableStatement in class NativeJdbcExtractorAdapter
Parameters:
cs - the CallableStatement handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC CallableStatement, if possible; else, the original CallableStatement
Throws:
SQLException - if thrown by JDBC methods

getNativeResultSet

public ResultSet getNativeResultSet(ResultSet rs)
                             throws SQLException
Description copied from class: NativeJdbcExtractorAdapter
Not able to unwrap: return passed-in ResultSet.

Specified by:
getNativeResultSet in interface NativeJdbcExtractor
Overrides:
getNativeResultSet in class NativeJdbcExtractorAdapter
Parameters:
rs - the ResultSet handle, potentially wrapped by a connection pool
Returns:
the underlying native JDBC ResultSet, if possible; else, the original ResultSet
Throws:
SQLException - if thrown by JDBC methods