org.apache.cayenne.access.util
Class DefaultOperationObserver

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

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 Summary
protected  List<Throwable> globalExceptions
           
protected  Map<Query,Throwable> queryExceptions
           
 
Constructor Summary
DefaultOperationObserver()
           
 
Method Summary
 List<Throwable> getGlobalExceptions()
          Returns a list of global exceptions that occured during data operation run.
 Map<Query,Throwable> getQueryExceptions()
          Returns a list of exceptions that occured during data operation run by query.
 boolean hasExceptions()
          Returns true if at least one exception was registered during query execution.
 boolean isIteratedResult()
          Returns false.
 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 keysIterator)
          Closes ResultIterator without reading its data.
 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 query, ResultIterator it)
          Closes ResultIterator without reading its data.
 void printExceptions(PrintWriter out)
          Prints the information about query and global exceptions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

globalExceptions

protected List<Throwable> globalExceptions

queryExceptions

protected Map<Query,Throwable> queryExceptions
Constructor Detail

DefaultOperationObserver

public DefaultOperationObserver()
Method Detail

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 keysIterator)
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:
3.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


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.