Package org.apache.cayenne.util

## Class GenericResponse

- java.lang.Object
- - org.apache.cayenne.util.GenericResponse

- All Implemented Interfaces:
    `Serializable`, `QueryResponse`

      public class GenericResponse
      extends Object
      implements QueryResponse, Serializable

  A simple serializable implementation of QueryResponse.
  Since:
    1.2
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected int` | `currentIndex` |
    `protected List` | `results` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GenericResponse()` | Creates an empty BaseResponse.
    `GenericResponse​(List list)` | Creates a BaseResponse with a single result list.
    `GenericResponse​(QueryResponse response)` | Creates a response that it a shallow copy of another response.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addBatchUpdateCount​(int[] resultCount)` |
    `void` | `addResultList​(List list)` |
    `void` | `addUpdateCount​(int resultCount)` |
    `void` | `clear()` | Clears any previously collected information.
    `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` | `replaceResult​(Object oldResult, Object newResult)` | Replaces previously stored result with a new result.
    `void` | `reset()` | Restarts response iterator.
    `int` | `size()` | Returns a number of results in the response.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### results

          protected List results

    - #### currentIndex

          protected transient int currentIndex

  - ### Constructor Detail

    - #### GenericResponse

          public GenericResponse()

      Creates an empty BaseResponse.

    - #### GenericResponse

          public GenericResponse​(List list)

      Creates a BaseResponse with a single result list.

    - #### GenericResponse

          public GenericResponse​(QueryResponse response)

      Creates a response that it a shallow copy of another response.

  - ### Method Detail

    - #### firstList

          public List firstList()

      Description copied from interface: `QueryResponse`
      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.
      Specified by:
        `firstList` in interface `QueryResponse`

    - #### firstUpdateCount

          public int[] firstUpdateCount()

      Description copied from interface: `QueryResponse`
      A utility method for quickly retrieving the first update count from the response. Note that this method resets current iterator to an undefined state.
      Specified by:
        `firstUpdateCount` in interface `QueryResponse`

    - #### currentList

          public List currentList()

      Description copied from interface: `QueryResponse`
      Returns a List under the current iterator position. Use `QueryResponse.isList()` to check the result type before calling this method.
      Specified by:
        `currentList` in interface `QueryResponse`

    - #### currentUpdateCount

          public int[] currentUpdateCount()

      Description copied from interface: `QueryResponse`
      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 `QueryResponse.isList()` to check the result type before calling this method.
      Specified by:
        `currentUpdateCount` in interface `QueryResponse`

    - #### isList

          public boolean isList()

      Description copied from interface: `QueryResponse`
      Returns whether current iteration result is a list or an update count.
      Specified by:
        `isList` in interface `QueryResponse`

    - #### next

          public boolean next()

      Description copied from interface: `QueryResponse`
      Rewinds response iterator to the next result, returning true if it is available.
      Specified by:
        `next` in interface `QueryResponse`

    - #### reset

          public void reset()

      Description copied from interface: `QueryResponse`
      Restarts response iterator.
      Specified by:
        `reset` in interface `QueryResponse`

    - #### size

          public int size()

      Description copied from interface: `QueryResponse`
      Returns a number of results in the response.
      Specified by:
        `size` in interface `QueryResponse`

    - #### clear

          public void clear()

      Clears any previously collected information.

    - #### addBatchUpdateCount

          public void addBatchUpdateCount​(int[] resultCount)

    - #### addUpdateCount

          public void addUpdateCount​(int resultCount)

    - #### addResultList

          public void addResultList​(List list)

    - #### replaceResult

          public void replaceResult​(Object oldResult,
                                    Object newResult)

      Replaces previously stored result with a new result.