# Class GenericQueryResult<T>

java.lang.Object
org.apache.cayenne.util.GenericQueryResult<T>

All Implemented Interfaces:
  `Iterable<QueryResultItem>, QueryResult<T>`

Direct Known Subclasses:
  `ProcedureResult`

public class GenericQueryResult<T> extends Object implements QueryResult<T>
Generic implementation of QueryResult using List as QueryResultItem storage.

Since:
  4.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Class<T>`
  `resultClass`
  `protected List<QueryResultItem>`
  `resultItems`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GenericQueryResult(List<QueryResultItem> resultItems)`
  `GenericQueryResult(List<QueryResultItem> resultItems, Class<T> resultClass)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int[]`
  `firstBatchUpdateCount()`
  A utility method for quickly retrieving the first batch update count array from the response.
  `List<T>`
  `firstList()`
  A utility method for quickly retrieving the first list in the response.
  `int`
  `firstUpdateCount()`
  A utility method for quick retrieval of the first update count from the response.
  `boolean`
  `isList()`
  Returns whether current iteration result is a list or an update count.
  `Iterator<QueryResultItem>`
  `iterator()`
  `int`
  `size()`
  Returns a number of results in the response.

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Iterable

  `forEach, spliterator`

- ## Field Details

  - ### resultClass

    protected Class<T> resultClass

  - ### resultItems

    protected List<QueryResultItem> resultItems

- ## Constructor Details

  - ### GenericQueryResult

    public GenericQueryResult(List<QueryResultItem> resultItems)

  - ### GenericQueryResult

    public GenericQueryResult(List<QueryResultItem> resultItems, Class<T> resultClass)

- ## Method Details

  - ### size

    public int size()
    Description copied from interface: `QueryResult`
    Returns a number of results in the response.
    Specified by:
      `size` in interface `QueryResult<T>`

  - ### isList

    public boolean isList()
    Description copied from interface: `QueryResult`
    Returns whether current iteration result is a list or an update count.
    Specified by:
      `isList` in interface `QueryResult<T>`

  - ### firstList

    public List<T> firstList()
    Description copied from interface: `QueryResult`
    A utility method for quickly retrieving the first list in the response. Returns null if the query has no lists.
    Specified by:
      `firstList` in interface `QueryResult<T>`

  - ### firstBatchUpdateCount

    public int[] firstBatchUpdateCount()
    Description copied from interface: `QueryResult`
    A utility method for quickly retrieving the first batch update count array from the response.
    Specified by:
      `firstBatchUpdateCount` in interface `QueryResult<T>`

  - ### firstUpdateCount

    public int firstUpdateCount()
    Description copied from interface: `QueryResult`
    A utility method for quick retrieval of the first update count from the response.
    Specified by:
      `firstUpdateCount` in interface `QueryResult<T>`

  - ### iterator

    public Iterator<QueryResultItem> iterator()
    Specified by:
      `iterator` in interface `Iterable<T>`