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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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. 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.
-
-