Package org.firebirdsql.gds.ng.listeners

## Interface StatementListener

All Known Implementing Classes:
  `DefaultStatementListener`, `StatementListenerDispatcher`

    public interface StatementListener

Listener interface for receiving rows and related information as retrieved by an `FbStatement.fetchRows(int)`, or `FbStatement.execute(RowValue)` with a singleton result.

Since:
  3.0
Author:
  Mark Rotteveel

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `allRowsFetched​(FbStatement sender)` Method to be notified when all rows have been fetched.
`void` `receivedRow​(FbStatement sender, RowValue rowValue)` Method to be notified of a new row of data.
`void` `sqlCounts​(FbStatement sender, SqlCountHolder sqlCounts)` Called when the SQL counts of a statement have been retrieved.
`void` `statementExecuted​(FbStatement sender, boolean hasResultSet, boolean hasSingletonResult)` Method to be notified when a statement has been executed.
`void` `statementStateChanged​(FbStatement sender, StatementState newState, StatementState previousState)` Method to be notified when the state of a statement has changed.
`void` `warningReceived​(FbStatement sender, java.sql.SQLWarning warning)` Called when a warning was received for the `sender` statement.

### Method Detail

#### receivedRow

    void receivedRow​(FbStatement sender,
                     RowValue rowValue)

Method to be notified of a new row of data.

Parameters:
  `sender` - The `FbStatement` that called this method.
  `rowValue` - The row values.

#### allRowsFetched

    void allRowsFetched​(FbStatement sender)

Method to be notified when all rows have been fetched.

This method may also be called when the statement did not produce any rows (or did not open a result set).

Parameters:
  `sender` - The `FbStatement` that called this method.
See Also:
  `statementExecuted(FbStatement, boolean, boolean)`

#### statementExecuted

    void statementExecuted​(FbStatement sender,
                           boolean hasResultSet,
                           boolean hasSingletonResult)

Method to be notified when a statement has been executed.

This event with `hasResultSet=true` can be seen as the counter part of `allRowsFetched(FbStatement)`.

Parameters:
  `sender` - The `FbStatement` that called this method.
  `hasResultSet` - `true` there is a result set, `false` there is no result set
  `hasSingletonResult` - `true` singleton result, `false` statement will produce indeterminate number of rows; can be ignored when `hasResultSet` is false.

#### statementStateChanged

    void statementStateChanged​(FbStatement sender,
                               StatementState newState,
                               StatementState previousState)

Method to be notified when the state of a statement has changed.

Parameters:
  `sender` - The `FbStatement` that called this method.
  `newState` - The new state of the statement
  `previousState` - The old state of the statement

#### warningReceived

    void warningReceived​(FbStatement sender,
                         java.sql.SQLWarning warning)

Called when a warning was received for the `sender` statement.

Parameters:
  `sender` - Statement receiving the warning
  `warning` - Warning

#### sqlCounts

    void sqlCounts​(FbStatement sender,
                   SqlCountHolder sqlCounts)

Called when the SQL counts of a statement have been retrieved.

Parameters:
  `sender` - Statement that called this method
  `sqlCounts` - SQL counts