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

  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 Details

  - ### 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.