Interface QueryResults<V> (2.4.0)

public interface QueryResults<V> extends Iterator<V>

The result of a Google Cloud Datastore query submission. When the result is not typed it is possible to cast it to its appropriate type according to the #getResultClass value. Results are loaded lazily in batches, where batch size is set by Cloud Datastore. As a result, it is possible to get a DatastoreException upon hasNext or next calls.

Implements

Iterator<V>

Type Parameter

NameDescription
V

Methods

getCursorAfter()

public abstract Cursor getCursorAfter()

Returns the Cursor for the point after the value returned in the last #next call. This cursor can be used to issue subsequent queries (with the same constraints) that may return additional results.

A simple use case:


 Query<Entity> query = Query.newEntityQueryBuilder()
     .setKind("Person")
     .setFilter(PropertyFilter.eq("favoriteFood", "pizza"))
     .build();
 QueryResults<Entity> results = datastore.run(query);
 // Consume some results (using results.next()) and do any other actions as necessary.
 query = query.toBuilder().setStartCursor(results.getCursorAfter()).build();
 results = datastore.run(query); // now we will iterate over all entities not yet consumed
 
Returns
TypeDescription
Cursor

getMoreResults()

public abstract QueryResultBatch.MoreResultsType getMoreResults()

Returns MoreResults state of the query after the current batch.

Returns
TypeDescription
QueryResultBatch.MoreResultsType

getResultClass()

public abstract Class<?> getResultClass()

Returns the actual class of the result's values.

Returns
TypeDescription
Class<?>

getSkippedResults()

public abstract int getSkippedResults()

Returns the number of results skipped, typically because of an offset.

A simple use case to count entities:


 Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build();
 QueryResults<Key> result = datasore.datastore.run(query);
 if (!result.hasNext()) {
  int numberOfEntities = result.getSkippedResults();
 }
 
Returns
TypeDescription
int