Class DefaultOperationObserver

java.lang.Object
org.apache.cayenne.access.util.DefaultOperationObserver
All Implemented Interfaces:
OperationHints, OperationObserver
Direct Known Subclasses:
IteratedSelectObserver

public class DefaultOperationObserver
extends Object
implements OperationObserver
Simple implementation of OperationObserver interface. Useful as a superclass of other implementations of OperationObserver. This implementation only tracks transaction events and exceptions.

This operation observer is unsafe to use in application, since it doesn't rethrow the exceptions immediately, and may cause the database to hang.

  • Field Details

  • Constructor Details

    • DefaultOperationObserver

      public DefaultOperationObserver()
  • Method Details

    • printExceptions

      public void printExceptions​(PrintWriter out)
      Prints the information about query and global exceptions.
    • getGlobalExceptions

      public List<Throwable> getGlobalExceptions()
      Returns a list of global exceptions that occured during data operation run.
    • getQueryExceptions

      public Map<Query,​Throwable> getQueryExceptions()
      Returns a list of exceptions that occured during data operation run by query.
    • hasExceptions

      public boolean hasExceptions()
      Returns true if at least one exception was registered during query execution.
    • nextCount

      public void nextCount​(Query query, int resultCount)
      Description copied from interface: OperationObserver
      Callback method invoked after an updating query is executed.
      Specified by:
      nextCount in interface OperationObserver
    • nextBatchCount

      public void nextBatchCount​(Query query, int[] resultCount)
      Description copied from interface: OperationObserver
      Callback method invoked after a batch update is executed.
      Specified by:
      nextBatchCount in interface OperationObserver
    • nextRows

      public void nextRows​(Query query, List<?> dataRows)
      Description copied from interface: OperationObserver
      Callback method invoked for each processed ResultSet.
      Specified by:
      nextRows in interface OperationObserver
    • nextRows

      public void nextRows​(Query query, ResultIterator it)
      Closes ResultIterator without reading its data. If you implement a custom subclass, only call super if closing the iterator is what you need.
      Specified by:
      nextRows in interface OperationObserver
    • nextGeneratedRows

      public void nextGeneratedRows​(Query query, ResultIterator keys, ObjectId idToUpdate)
      Closes ResultIterator without reading its data. If you implement a custom subclass, only call super if closing the iterator is what you need.
      Specified by:
      nextGeneratedRows in interface OperationObserver
      Since:
      4.0
    • nextQueryException

      public void nextQueryException​(Query query, Exception ex)
      Description copied from interface: OperationObserver
      Callback method invoked on exceptions that happen during an execution of a specific query.
      Specified by:
      nextQueryException in interface OperationObserver
    • nextGlobalException

      public void nextGlobalException​(Exception ex)
      Description copied from interface: OperationObserver
      Callback method invoked on exceptions that are not tied to a specific query execution, such as JDBC connection exceptions, etc.
      Specified by:
      nextGlobalException in interface OperationObserver
    • isIteratedResult

      public boolean isIteratedResult()
      Returns false.
      Specified by:
      isIteratedResult in interface OperationHints