public final class ResultSet extends Object implements Iterable<Result>
ResultSet is returned from the submission of a Gremlin script to the server and represents the
results provided by the server. The results from the server are streamed into the ResultSet and
therefore may not be available immediately. As such, ResultSet provides access to a a number
of functions that help to work with the asynchronous nature of the data streaming back. Data from results
is stored in an Result which can be used to retrieve the item once it is on the client side.
Note that a ResultSet is a forward-only stream only so depending on how the methods are called and
interacted with, it is possible to return partial bits of the total response (e.g. calling one() followed
by all() will make it so that the List of results returned from all() have one
Result missing from the total set as it was already retrieved by one().
This class is not thread-safe.| Constructor and Description |
|---|
ResultSet(org.apache.tinkerpop.gremlin.driver.ResultQueue resultQueue,
ExecutorService executor,
CompletableFuture<Void> readCompleted) |
| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<List<Result>> |
all()
The returned
CompletableFuture completes when all reads are complete for this request and the
entire result has been accounted for on the client. |
boolean |
allItemsAvailable()
Determines if all items have been returned to the client.
|
int |
getAvailableItemCount()
Gets the number of items available on the client.
|
Iterator<Result> |
iterator()
Returns a blocking iterator of the items streaming from the server to the client.
|
Result |
one()
Get the next
Result from the stream, blocking until one is available. |
CompletableFuture<List<Result>> |
some(int items)
The returned
CompletableFuture completes when the number of items specified are available. |
Stream<Result> |
stream()
Stream items with a blocking iterator.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic ResultSet(org.apache.tinkerpop.gremlin.driver.ResultQueue resultQueue,
ExecutorService executor,
CompletableFuture<Void> readCompleted)
public boolean allItemsAvailable()
public int getAvailableItemCount()
public CompletableFuture<List<Result>> some(int items)
CompletableFuture completes when the number of items specified are available. The
number returned will be equal to or less than that number. They will only be less if the stream is
completed and there are less than that number specified available.public CompletableFuture<List<Result>> all()
CompletableFuture completes when all reads are complete for this request and the
entire result has been accounted for on the client. While this method is named "all" it really refers to
retrieving all remaining items in the set. For large result sets it is preferred to use
Iterator or Stream options, as the results will be held in memory at once.public Iterator<Result> iterator()
Iterator will
consume results as they arrive and leaving the ResultSet empty when complete.
The returned Iterator does not support the Iterator.remove() method.Copyright © 2013–2016 Apache Software Foundation. All rights reserved.