Class Jdbc41Bridge
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.Jdbc41Bridge
-
public class Jdbc41Bridge extends java.lang.Object
Defines bridge methods to JDBC 4.1 (Java 7) methods to allow call sites to operate safely (withoutAbstractMethodError
) when using a JDBC driver written for JDBC 4.0 (Java 6).There should be no need to this kind of code for JDBC 4.2 in Java 8 due to JDBC's use of default methods.
This should probably be moved or at least copied in some form to Apache Commons DbUtils.
- Since:
- 2.6.0
-
-
Constructor Summary
Constructors Constructor Description Jdbc41Bridge()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
abort(java.sql.Connection connection, java.util.concurrent.Executor executor)
Delegates toConnection.abort(Executor)
without throwing anAbstractMethodError
.static void
closeOnCompletion(java.sql.Statement statement)
Delegates toStatement.closeOnCompletion()
without throwing anAbstractMethodError
.static boolean
generatedKeyAlwaysReturned(java.sql.DatabaseMetaData databaseMetaData)
Delegates toDatabaseMetaData.generatedKeyAlwaysReturned()
without throwing aAbstractMethodError
.static int
getNetworkTimeout(java.sql.Connection connection)
Delegates toConnection.getNetworkTimeout()
without throwing anAbstractMethodError
.static <T> T
getObject(java.sql.ResultSet resultSet, int columnIndex, java.lang.Class<T> type)
Delegates toResultSet.getObject(int, Class)
without throwing anAbstractMethodError
.static <T> T
getObject(java.sql.ResultSet resultSet, java.lang.String columnLabel, java.lang.Class<T> type)
Delegates toResultSet.getObject(String, Class)
without throwing anAbstractMethodError
.static java.util.logging.Logger
getParentLogger(javax.sql.CommonDataSource commonDataSource)
Delegates toCommonDataSource.getParentLogger()
without throwing anAbstractMethodError
.static java.sql.ResultSet
getPseudoColumns(java.sql.DatabaseMetaData databaseMetaData, java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
Delegates toDatabaseMetaData.getPseudoColumns(String, String, String, String)
without throwing aAbstractMethodError
.static java.lang.String
getSchema(java.sql.Connection connection)
Delegates toConnection.getSchema()
without throwing anAbstractMethodError
.static boolean
isCloseOnCompletion(java.sql.Statement statement)
Delegates toStatement.isCloseOnCompletion()
without throwing anAbstractMethodError
.static void
setNetworkTimeout(java.sql.Connection connection, java.util.concurrent.Executor executor, int milliseconds)
Delegates toConnection.setNetworkTimeout(Executor, int)
without throwing anAbstractMethodError
.static void
setSchema(java.sql.Connection connection, java.lang.String schema)
Delegates toConnection.setSchema(String)
without throwing anAbstractMethodError
.
-
-
-
Method Detail
-
abort
public static void abort(java.sql.Connection connection, java.util.concurrent.Executor executor) throws java.sql.SQLException
Delegates toConnection.abort(Executor)
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Connection.abort(Executor)
, then callConnection.close()
.- Parameters:
connection
- the receiverexecutor
- SeeConnection.abort(Executor)
.- Throws:
java.sql.SQLException
- SeeConnection.abort(Executor)
.- See Also:
Connection.abort(Executor)
-
closeOnCompletion
public static void closeOnCompletion(java.sql.Statement statement) throws java.sql.SQLException
Delegates toStatement.closeOnCompletion()
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Statement.closeOnCompletion()
, then just check that the connection is closed to then throw an SQLException.- Parameters:
statement
- SeeStatement.closeOnCompletion()
- Throws:
java.sql.SQLException
- SeeStatement.closeOnCompletion()
- See Also:
Statement.closeOnCompletion()
-
generatedKeyAlwaysReturned
public static boolean generatedKeyAlwaysReturned(java.sql.DatabaseMetaData databaseMetaData) throws java.sql.SQLException
Delegates toDatabaseMetaData.generatedKeyAlwaysReturned()
without throwing aAbstractMethodError
.If the JDBC driver does not implement
DatabaseMetaData.generatedKeyAlwaysReturned()
, then return false.- Parameters:
databaseMetaData
- SeeDatabaseMetaData.generatedKeyAlwaysReturned()
- Returns:
- See
DatabaseMetaData.generatedKeyAlwaysReturned()
- Throws:
java.sql.SQLException
- SeeDatabaseMetaData.generatedKeyAlwaysReturned()
- See Also:
DatabaseMetaData.generatedKeyAlwaysReturned()
-
getNetworkTimeout
public static int getNetworkTimeout(java.sql.Connection connection) throws java.sql.SQLException
Delegates toConnection.getNetworkTimeout()
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Connection.getNetworkTimeout()
, then return 0.- Parameters:
connection
- the receiver- Returns:
- See
Connection.getNetworkTimeout()
- Throws:
java.sql.SQLException
- SeeConnection.getNetworkTimeout()
- See Also:
Connection.getNetworkTimeout()
-
getObject
public static <T> T getObject(java.sql.ResultSet resultSet, int columnIndex, java.lang.Class<T> type) throws java.sql.SQLException
Delegates toResultSet.getObject(int, Class)
without throwing anAbstractMethodError
.If the JDBC driver does not implement
ResultSet.getObject(int, Class)
, then return 0.- Type Parameters:
T
- SeeResultSet.getObject(int, Class)
- Parameters:
resultSet
- SeeResultSet.getObject(int, Class)
columnIndex
- SeeResultSet.getObject(int, Class)
type
- SeeResultSet.getObject(int, Class)
- Returns:
- See
ResultSet.getObject(int, Class)
- Throws:
java.sql.SQLException
- SeeResultSet.getObject(int, Class)
- See Also:
ResultSet.getObject(int, Class)
-
getObject
public static <T> T getObject(java.sql.ResultSet resultSet, java.lang.String columnLabel, java.lang.Class<T> type) throws java.sql.SQLException
Delegates toResultSet.getObject(String, Class)
without throwing anAbstractMethodError
.- Type Parameters:
T
- SeeResultSet.getObject(String, Class)
- Parameters:
resultSet
- SeeResultSet.getObject(String, Class)
columnLabel
- SeeResultSet.getObject(String, Class)
type
- SeeResultSet.getObject(String, Class)
- Returns:
- See
ResultSet.getObject(String, Class)
- Throws:
java.sql.SQLException
- SeeResultSet.getObject(String, Class)
- See Also:
ResultSet.getObject(int, Class)
-
getParentLogger
public static java.util.logging.Logger getParentLogger(javax.sql.CommonDataSource commonDataSource) throws java.sql.SQLFeatureNotSupportedException
Delegates toCommonDataSource.getParentLogger()
without throwing anAbstractMethodError
.If the JDBC driver does not implement
CommonDataSource.getParentLogger()
, then return null.- Parameters:
commonDataSource
- SeeCommonDataSource.getParentLogger()
- Returns:
- See
CommonDataSource.getParentLogger()
- Throws:
java.sql.SQLFeatureNotSupportedException
- SeeCommonDataSource.getParentLogger()
-
getPseudoColumns
public static java.sql.ResultSet getPseudoColumns(java.sql.DatabaseMetaData databaseMetaData, java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Delegates toDatabaseMetaData.getPseudoColumns(String, String, String, String)
without throwing aAbstractMethodError
.If the JDBC driver does not implement
DatabaseMetaData.getPseudoColumns(String, String, String, String)
, then return null.- Parameters:
databaseMetaData
- the receivercatalog
- SeeDatabaseMetaData.getPseudoColumns(String, String, String, String)
schemaPattern
- SeeDatabaseMetaData.getPseudoColumns(String, String, String, String)
tableNamePattern
- SeeDatabaseMetaData.getPseudoColumns(String, String, String, String)
columnNamePattern
- SeeDatabaseMetaData.getPseudoColumns(String, String, String, String)
- Returns:
- See
DatabaseMetaData.getPseudoColumns(String, String, String, String)
- Throws:
java.sql.SQLException
- SeeDatabaseMetaData.getPseudoColumns(String, String, String, String)
- See Also:
DatabaseMetaData.getPseudoColumns(String, String, String, String)
-
getSchema
public static java.lang.String getSchema(java.sql.Connection connection) throws java.sql.SQLException
Delegates toConnection.getSchema()
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Connection.getSchema()
, then return null.- Parameters:
connection
- the receiver- Returns:
- null for a JDBC 4 driver or a value per
Connection.getSchema()
. - Throws:
java.sql.SQLException
- SeeConnection.getSchema()
.- See Also:
Connection.getSchema()
-
isCloseOnCompletion
public static boolean isCloseOnCompletion(java.sql.Statement statement) throws java.sql.SQLException
Delegates toStatement.isCloseOnCompletion()
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Statement.isCloseOnCompletion()
, then just check that the connection is closed to then throw an SQLException.- Parameters:
statement
- SeeStatement.isCloseOnCompletion()
- Returns:
- See
Statement.isCloseOnCompletion()
- Throws:
java.sql.SQLException
- SeeStatement.isCloseOnCompletion()
- See Also:
Statement.closeOnCompletion()
-
setNetworkTimeout
public static void setNetworkTimeout(java.sql.Connection connection, java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException
Delegates toConnection.setNetworkTimeout(Executor, int)
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Connection.setNetworkTimeout(Executor, int)
, then do nothing.- Parameters:
connection
- the receiverexecutor
- SeeConnection.setNetworkTimeout(Executor, int)
milliseconds
-Connection.setNetworkTimeout(Executor, int)
- Throws:
java.sql.SQLException
-Connection.setNetworkTimeout(Executor, int)
- See Also:
Connection.setNetworkTimeout(Executor, int)
-
setSchema
public static void setSchema(java.sql.Connection connection, java.lang.String schema) throws java.sql.SQLException
Delegates toConnection.setSchema(String)
without throwing anAbstractMethodError
.If the JDBC driver does not implement
Connection.setSchema(String)
, then do nothing.- Parameters:
connection
- the receiverschema
- SeeConnection.setSchema(String)
.- Throws:
java.sql.SQLException
- SeeConnection.setSchema(String)
.- See Also:
Connection.setSchema(String)
-
-