Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne
Interface QueryResponse

All Known Implementing Classes:
  GenericResponse, IncrementalListResponse, ListResponse

    public interface QueryResponse

Represents a result of query execution. It potentially contain a mix of update counts and lists of selected values. Provides API somewhat similar to java.util.Iterator or java.sql.ResultSet for scanning through the individual results.

An example of iterating through a response:

     QueryResponse response = context.performGenericQuery(query);
     for (response.reset(); response.next();) {
         if (response.isList()) {
             List list = response.currentList();
             // ...
         }
         else {
             int[] updateCounts = reponse.currentUpdateCount();
             // ...
         }
     }

In case the structure of the result is known, and only a single list or an update count is expected, there is a simpler API to access them:

     QueryResponse response = context.performGenericQuery(query);
     List list = response.firstList();
     int[] count = response.firstUpdateCount();

Since:
  1.2
Author:
  Andrus Adamchik

Method Summary
`List` | `currentList()` Returns a List under the current iterator position.
`int[]` | `currentUpdateCount()` Returns an update count under the current iterator position.
`List` | `firstList()` A utility method for quickly retrieving the first list in the response.
`int[]` | `firstUpdateCount()` A utility method for quickly retrieving the first update count from the response.
`boolean` | `isList()` Returns whether current iteration result is a list or an update count.
`boolean` | `next()` Rewinds response iterator to the next result, returning true if it is available.
`void` | `reset()` Restarts response iterator.
`int` | `size()` Returns a number of results in the response.

Method Detail

### size

    int size()

  Returns a number of results in the response.

### isList

    boolean isList()

  Returns whether current iteration result is a list or an update count.

### currentList

    List currentList()

  Returns a List under the current iterator position. Use `isList()` to check the result type before calling this method.

### currentUpdateCount

    int[] currentUpdateCount()

  Returns an update count under the current iterator position. Returned value is an int[] to accomodate batch queries. For a regular update result, the value will be an int[1]. Use `isList()` to check the result type before calling this method.

### next

    boolean next()

  Rewinds response iterator to the next result, returning true if it is available.

### reset

    void reset()

  Restarts response iterator.

### firstList

    List firstList()

  A utility method for quickly retrieving the first list in the response. Returns null if the query has no lists. Note that this method resets current iterator to an undefined state.

### firstUpdateCount

    int[] firstUpdateCount()

  A utility method for quickly retrieving the first update count from the response. Note that this method resets current iterator to an undefined state.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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