Class 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 Detail

      • ListResultSet

        public ListResultSet​(List<T> r)
    • Method Detail

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