Module org.firebirdsql.jaybird
Package org.firebirdsql.gds.ng

# Interface DeferredResponse<T>

Type Parameters:
  `T` - response type expected (`Void` if no object, but `null` is expected)

public interface DeferredResponse<T>
Interface for receiving deferred/async responses.

GDS-ng implementations which are not capable of asynchronous or delayed processing of responses are expected to synchronously invoke the `onResponse(Object)` and - optionally - `onException(Exception)` methods within the method call.

Since:
  5
Author:
  Mark Rotteveel

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default void`
  `onException(Exception exception)`
  Exception received when receiving or processing the response.
  `default void`
  `onResponse(T response)`
  Called with successful response.

- ## Method Details

  - ### onResponse

    default void onResponse(T response)
    Called with successful response.
    Parameters:
      `response` - response object, or `null` if there is no response, but the request completed successfully

  - ### onException

    default void onException(Exception exception)
    Exception received when receiving or processing the response.

    The default implementation only logs the exception on debug level.

    For GDS-ng implementations that can only perform synchronous processing, it is implementation-defined whether or not this method is called, or if the exception is thrown directly from the invoked method.

    Parameters:
      `exception` - exception received processing the response