Package 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 = response.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
-
Method Summary
Modifier and TypeMethodDescriptionList
<?> Returns a List under the current iterator position.int[]
Returns an update count under the current iterator position.A utility method for quickly retrieving the first list in the response.int[]
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 Details
-
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. UseisList()
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 accommodate batch queries. For a regular update result, the value will be an int[1]. UseisList()
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.
-