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