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

        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.