Interface Handler

All Known Implementing Classes:
HandlerImpl

public interface Handler
Called at various points in the JDBC lifecycle.

Most drivers will use HandlerImpl, which provides no-op implementations of all methods. You only need to override methods if you need to achieve special effects.

  • Method Details

    • onConnectionInit

      void onConnectionInit(AvaticaConnection connection) throws SQLException
      Called by container when a connection is being created.

      If the implementation of this method throws, the connection will not be created.

      Parameters:
      connection - Connection
      Throws:
      SQLException - on error
    • onConnectionClose

      void onConnectionClose(AvaticaConnection connection)
      Called by container when a connection is being closed.

      If the implementation of this method throws, the call to Connection.close() that triggered this method will throw an exception, but the connection will still be marked closed.

      Parameters:
      connection - Connection
    • onStatementExecute

      void onStatementExecute(AvaticaStatement statement, Handler.ResultSink resultSink)
      Called by container when a statement is being executed.

      If the session would like the statement results stored in a temporary table, resultSink is not null. The provider must call its Handler.ResultSink.toBeCompleted() method at some point during execution (not necessarily before the call to this method returns).

      Parameters:
      statement - Statement
      resultSink - Place to put result of query. Null if container does not want results stored to a temporary table
      Throws:
      RuntimeException - on error
    • onStatementClose

      void onStatementClose(AvaticaStatement statement)
      Called by container when a statement is being closed.

      This method is called after marking the statement closed, and after closing any open ResultSet objects.

      If the implementation of this method throws, the call to Statement.close() that triggered this method will throw an exception, but the statement will still be marked closed.

      Parameters:
      statement - Statement
      Throws:
      RuntimeException - on error