Package com.google.cloud.datastore
Interface QueryResults<V>
- Type Parameters:
V
- the type of the results value.
- All Superinterfaces:
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.-
Method Summary
Modifier and TypeMethodDescriptionReturns the Cursor for the point after the value returned in the lastIterator.next()
call.Returns MoreResults state of the query after the current batch.Class<?>
Returns the actual class of the result's values.int
Returns the number of results skipped, typically because of an offset.Methods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
Method Details
-
getResultClass
Class<?> getResultClass()Returns the actual class of the result's values. -
getCursorAfter
Cursor getCursorAfter()Returns the Cursor for the point after the value returned in the lastIterator.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
-
getSkippedResults
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(); }
-
getMoreResults
QueryResultBatch.MoreResultsType getMoreResults()Returns MoreResults state of the query after the current batch.
-