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 Type
    Method
    Description
    default ResultIterator<?>
    Returns a current iterator.
    default List<?>
    Returns a List under the current iterator position.
    default int[]
    Returns an update count under the current iterator position.
    default ResultIterator<?>
    A utility method for quickly retrieving the Iterator in the response.
    default List<?>
    A utility method for quickly retrieving the first list in the response.
    default int[]
    A utility method for quickly retrieving the first update count from the response.
    default boolean
    Returns whether current response is an iterator
    default boolean
    Returns whether current iteration result is a list or an update count.
    boolean
    Rewinds response iterator to the next result, returning true if it is available.
    void
    Restarts response iterator.
    int
    Returns a number of results in the response.
  • Method Details

    • size

      int size()
      Returns a number of results in the response.
    • isList

      default boolean isList()
      Returns whether current iteration result is a list or an update count.
    • isIterator

      default boolean isIterator()
      Returns whether current response is an iterator
      Since:
      5.0
    • currentList

      default List<?> currentList()
      Returns a List under the current iterator position. Use isList() to check the result type before calling this method.
    • currentIterator

      default ResultIterator<?> currentIterator()
      Returns a current iterator.
      Since:
      5.0
    • currentUpdateCount

      default 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]. 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

      default 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.
    • firstIterator

      default ResultIterator<?> firstIterator()
      A utility method for quickly retrieving the Iterator in the response. Returns null if the query has no iterator.
      Since:
      5.0
    • firstUpdateCount

      default 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.