Class 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 (without AbstractMethodError) when using a JDBC driver written for JDBC 4.0 (Java 6).
    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 to Connection.abort(Executor) without throwing a AbstractMethodError.
      static void closeOnCompletion​(java.sql.Statement statement)
      Delegates to Statement.closeOnCompletion() without throwing a AbstractMethodError.
      static boolean generatedKeyAlwaysReturned​(java.sql.DatabaseMetaData databaseMetaData)
      Delegates to DatabaseMetaData.generatedKeyAlwaysReturned() without throwing a AbstractMethodError.
      static int getNetworkTimeout​(java.sql.Connection connection)
      Delegates to Connection.getNetworkTimeout() without throwing a AbstractMethodError.
      static <T> T getObject​(java.sql.ResultSet resultSet, int columnIndex, java.lang.Class<T> type)
      Delegates to ResultSet.getObject(int, Class) without throwing a AbstractMethodError.
      static <T> T getObject​(java.sql.ResultSet resultSet, java.lang.String columnLabel, java.lang.Class<T> type)
      Delegates to ResultSet.getObject(String, Class) without throwing a AbstractMethodError.
      static java.util.logging.Logger getParentLogger​(javax.sql.CommonDataSource commonDataSource)
      Delegates to CommonDataSource.getParentLogger() without throwing a AbstractMethodError.
      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 to DatabaseMetaData.getPseudoColumns(String, String, String, String) without throwing a AbstractMethodError.
      static java.lang.String getSchema​(java.sql.Connection connection)
      Delegates to Connection.getSchema() without throwing a AbstractMethodError.
      static boolean isCloseOnCompletion​(java.sql.Statement statement)
      Delegates to Statement.isCloseOnCompletion() without throwing a AbstractMethodError.
      static void setNetworkTimeout​(java.sql.Connection connection, java.util.concurrent.Executor executor, int milliseconds)
      Delegates to Connection.setNetworkTimeout(Executor, int) without throwing a AbstractMethodError.
      static void setSchema​(java.sql.Connection connection, java.lang.String schema)
      Delegates to Connection.setSchema(String) without throwing a AbstractMethodError.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Jdbc41Bridge

        public Jdbc41Bridge()
    • Method Detail

      • abort

        public static void abort​(java.sql.Connection connection,
                                 java.util.concurrent.Executor executor)
                          throws java.sql.SQLException
        Delegates to Connection.abort(Executor) without throwing a AbstractMethodError.

        If the JDBC driver does not implement Connection.abort(Executor), then call Connection.close().

        Parameters:
        connection - the receiver
        executor - See Connection.abort(Executor).
        Throws:
        java.sql.SQLException - See Connection.abort(Executor).
        See Also:
        Connection.abort(Executor)
      • generatedKeyAlwaysReturned

        public static boolean generatedKeyAlwaysReturned​(java.sql.DatabaseMetaData databaseMetaData)
                                                  throws java.sql.SQLException
        Delegates to DatabaseMetaData.generatedKeyAlwaysReturned() without throwing a AbstractMethodError.

        If the JDBC driver does not implement DatabaseMetaData.generatedKeyAlwaysReturned(), then return false.

        Parameters:
        databaseMetaData - See DatabaseMetaData.generatedKeyAlwaysReturned()
        Returns:
        See DatabaseMetaData.generatedKeyAlwaysReturned()
        Throws:
        java.sql.SQLException - See DatabaseMetaData.generatedKeyAlwaysReturned()
        See Also:
        DatabaseMetaData.generatedKeyAlwaysReturned()
      • getNetworkTimeout

        public static int getNetworkTimeout​(java.sql.Connection connection)
                                     throws java.sql.SQLException
        Delegates to Connection.getNetworkTimeout() without throwing a AbstractMethodError.

        If the JDBC driver does not implement Connection.getNetworkTimeout(), then return 0.

        Parameters:
        connection - the receiver
        Returns:
        See Connection.getNetworkTimeout()
        Throws:
        java.sql.SQLException - See Connection.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 to ResultSet.getObject(int, Class) without throwing a AbstractMethodError.

        If the JDBC driver does not implement ResultSet.getObject(int, Class), then return 0.

        Type Parameters:
        T - See ResultSet.getObject(int, Class)
        Parameters:
        resultSet - See ResultSet.getObject(int, Class)
        columnIndex - See ResultSet.getObject(int, Class)
        type - See ResultSet.getObject(int, Class)
        Returns:
        See ResultSet.getObject(int, Class)
        Throws:
        java.sql.SQLException - See ResultSet.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 to ResultSet.getObject(String, Class) without throwing a AbstractMethodError.
        Type Parameters:
        T - See ResultSet.getObject(String, Class)
        Parameters:
        resultSet - See ResultSet.getObject(String, Class)
        columnLabel - See ResultSet.getObject(String, Class)
        type - See ResultSet.getObject(String, Class)
        Returns:
        See ResultSet.getObject(String, Class)
        Throws:
        java.sql.SQLException - See ResultSet.getObject(String, Class)
        See Also:
        ResultSet.getObject(int, Class)
      • 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 to DatabaseMetaData.getPseudoColumns(String, String, String, String) without throwing a AbstractMethodError.

        If the JDBC driver does not implement DatabaseMetaData.getPseudoColumns(String, String, String, String), then return null.

        Parameters:
        databaseMetaData - the receiver
        catalog - See DatabaseMetaData.getPseudoColumns(String, String, String, String)
        schemaPattern - See DatabaseMetaData.getPseudoColumns(String, String, String, String)
        tableNamePattern - See DatabaseMetaData.getPseudoColumns(String, String, String, String)
        columnNamePattern - See DatabaseMetaData.getPseudoColumns(String, String, String, String)
        Returns:
        See DatabaseMetaData.getPseudoColumns(String, String, String, String)
        Throws:
        java.sql.SQLException - See DatabaseMetaData.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 to Connection.getSchema() without throwing a AbstractMethodError.

        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 - See Connection.getSchema().
        See Also:
        Connection.getSchema()
      • setNetworkTimeout

        public static void setNetworkTimeout​(java.sql.Connection connection,
                                             java.util.concurrent.Executor executor,
                                             int milliseconds)
                                      throws java.sql.SQLException
        Delegates to Connection.setNetworkTimeout(Executor, int) without throwing a AbstractMethodError.

        If the JDBC driver does not implement Connection.setNetworkTimeout(Executor, int), then do nothing.

        Parameters:
        connection - the receiver
        executor - See Connection.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 to Connection.setSchema(String) without throwing a AbstractMethodError.

        If the JDBC driver does not implement Connection.setSchema(String), then do nothing.

        Parameters:
        connection - the receiver
        schema - See Connection.setSchema(String).
        Throws:
        java.sql.SQLException - See Connection.setSchema(String).
        See Also:
        Connection.setSchema(String)
      • closeOnCompletion

        public static void closeOnCompletion​(java.sql.Statement statement)
                                      throws java.sql.SQLException
        Delegates to Statement.closeOnCompletion() without throwing a AbstractMethodError.

        If the JDBC driver does not implement Statement.closeOnCompletion(), then just check that the connection is closed to then throw a SQLException.

        Parameters:
        statement - See Statement.closeOnCompletion()
        Throws:
        java.sql.SQLException - See Statement.closeOnCompletion()
        See Also:
        Statement.closeOnCompletion()
      • isCloseOnCompletion

        public static boolean isCloseOnCompletion​(java.sql.Statement statement)
                                           throws java.sql.SQLException
        Delegates to Statement.isCloseOnCompletion() without throwing a AbstractMethodError.

        If the JDBC driver does not implement Statement.isCloseOnCompletion(), then just check that the connection is closed to then throw a SQLException.

        Parameters:
        statement - See Statement.isCloseOnCompletion()
        Returns:
        See Statement.isCloseOnCompletion()
        Throws:
        java.sql.SQLException - See Statement.isCloseOnCompletion()
        See Also:
        Statement.closeOnCompletion()
      • getParentLogger

        public static java.util.logging.Logger getParentLogger​(javax.sql.CommonDataSource commonDataSource)
                                                        throws java.sql.SQLFeatureNotSupportedException
        Delegates to CommonDataSource.getParentLogger() without throwing a AbstractMethodError.

        If the JDBC driver does not implement CommonDataSource.getParentLogger(), then return null.

        Parameters:
        commonDataSource - See CommonDataSource.getParentLogger()
        Returns:
        See CommonDataSource.getParentLogger()
        Throws:
        java.sql.SQLFeatureNotSupportedException - See CommonDataSource.getParentLogger()