Package org.apache.cayenne.access

## Interface OperationObserver

- All Superinterfaces:
    `OperationHints`
  All Known Implementing Classes:
    `DefaultOperationObserver`, `DoNothingOperationObserver`, `IteratedSelectObserver`

      public interface OperationObserver
      extends OperationHints

  Defines a set of callback methods that allow `QueryEngine` to pass back query results and notify caller about exceptions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `nextBatchCount​(Query query, int[] resultCount)` | Callback method invoked after a batch update is executed.
    `void` | `nextCount​(Query query, int resultCount)` | Callback method invoked after an updating query is executed.
    `void` | `nextGeneratedRows​(Query query, ResultIterator<?> keys, List<ObjectId> idsToUpdate)` | Callback method invoked after each batch of generated values is read during an update.
    `default void` | `nextGeneratedRows​(Query query, ResultIterator<?> keys, ObjectId idToUpdate)` | Deprecated. since 4.2, use `nextGeneratedRows(Query, ResultIterator, List)`
    `void` | `nextGlobalException​(Exception ex)` | Callback method invoked on exceptions that are not tied to a specific query execution, such as JDBC connection exceptions, etc.
    `void` | `nextQueryException​(Query query, Exception ex)` | Callback method invoked on exceptions that happen during an execution of a specific query.
    `void` | `nextRows​(Query query, List<?> dataRows)` | Callback method invoked for each processed ResultSet.
    `void` | `nextRows​(Query q, ResultIterator<?> it)` | Callback method invoked for each opened ResultIterator.

    - ### Methods inherited from interface org.apache.cayenne.access.OperationHints

      `isIteratedResult`

- - ### Method Detail

    - #### nextCount

          void nextCount​(Query query,
                         int resultCount)

      Callback method invoked after an updating query is executed.

    - #### nextBatchCount

          void nextBatchCount​(Query query,
                              int[] resultCount)

      Callback method invoked after a batch update is executed.

    - #### nextRows

          void nextRows​(Query query,
                        List<?> dataRows)

      Callback method invoked for each processed ResultSet.
      Since:
        3.0

    - #### nextRows

          void nextRows​(Query q,
                        ResultIterator<?> it)

      Callback method invoked for each opened ResultIterator. If this observer requested results to be returned as a ResultIterator, this method is invoked instead of `nextRows(Query, List)`.
      Since:
        3.0

    - #### nextGeneratedRows

          @Deprecated
          default void nextGeneratedRows​(Query query,
                                         ResultIterator<?> keys,
                                         ObjectId idToUpdate)

      Deprecated.
      since 4.2, use `nextGeneratedRows(Query, ResultIterator, List)`
      Callback method invoked after each batch of generated values is read during an update.
      Since:
        4.0

    - #### nextGeneratedRows

          void nextGeneratedRows​(Query query,
                                 ResultIterator<?> keys,
                                 List<ObjectId> idsToUpdate)

      Callback method invoked after each batch of generated values is read during an update.
      Since:
        4.2

    - #### nextQueryException

          void nextQueryException​(Query query,
                                  Exception ex)

      Callback method invoked on exceptions that happen during an execution of a specific query.

    - #### nextGlobalException

          void nextGlobalException​(Exception ex)

      Callback method invoked on exceptions that are not tied to a specific query execution, such as JDBC connection exceptions, etc.