Class ListResultSet<T>

java.lang.Object
com.google.gerrit.index.query.ListResultSet<T>
All Implemented Interfaces:
ResultSet<T>, Iterable<T>

public class ListResultSet<T> extends Object implements ResultSet<T>
Result set for queries that run synchronously or for cases where the result is already known and we just need to pipe it back through our interfaces.

If your implementation benefits from asynchronous execution (i.e. dispatching a query and awaiting results only when ResultSet.toList() is called, consider using LazyResultSet.

  • Constructor Details

    • ListResultSet

      public ListResultSet(List<T> r)
  • Method Details

    • iterator

      public Iterator<T> iterator()
      Description copied from interface: ResultSet
      Obtain an iterator to loop through the results.

      The iterator can be obtained only once. When the iterator completes ( hasNext() returns false) ResultSet.close() will be automatically called.

      Specified by:
      iterator in interface Iterable<T>
      Specified by:
      iterator in interface ResultSet<T>
    • toList

      public com.google.common.collect.ImmutableList<T> toList()
      Description copied from interface: ResultSet
      Materialize all results as a single list.

      Prior to returning ResultSet.close() is invoked. This method must not be combined with ResultSet.iterator() on the same instance.

      Specified by:
      toList in interface ResultSet<T>
      Returns:
      immutable list of the complete results.
    • close

      public void close()
      Description copied from interface: ResultSet
      Close the result, discarding any further results.

      This method may be invoked more than once. Its main use is to stop obtaining results before the iterator has finished.

      Specified by:
      close in interface ResultSet<T>
    • searchAfter

      public Object searchAfter()
      Specified by:
      searchAfter in interface ResultSet<T>