public final class FetchOptions
Describes the limit, offset, and chunk size to be applied when executing a PreparedQuery.
limit
is the maximum number of results the query will return.
offset
is the number of results to skip before returning any results. Results that are
skipped due to offset do not count against limit
.
Note: Using offset
still retrieves skipped entities internally. This affects the
latency of the query, and your application is billed for the operations required to
retrieve them. Using cursors lets you avoid these costs.
startCursor
and endCursor
are previously generated cursors that point to
locations in a result set. If specified queries will start and end at these locations.
prefetchSize
is the number of results retrieved on the first call to the datastore.
chunkSize
determines the internal chunking strategy of the Iterator returned
by PreparedQuery#asIterator(FetchOptions) and the Iterable returned by PreparedQuery#asIterable(FetchOptions).
Note that unlike limit
, offset
and cursor
, prefetchSize
and
chunkSize
have no impact on the result of the PreparedQuery, but rather only the
performance of the PreparedQuery.
Notes on usage:
The recommended way to instantiate a FetchOptions
object is to import FetchOptions and invoke a static creation method followed by an instance mutator (if needed):
import com.google.appengine.api.datastore.FetchOptions;
Cursor cursor = ...
...
// limit 10
datastoreService.prepare(query).asList(FetchOptions.Builder.withLimit(10));
// limit 10, start cursor
datastoreService.prepare(query).asList(FetchOptions.Builder.withLimit(10).startCursor(cursor));
Static Fields
DEFAULT_CHUNK_SIZE (deprecated)
public static final int DEFAULT_CHUNK_SIZE
Deprecated. Instead of using DEFAULT_CHUNK_SIZE, do not specify a chunk size.
Field Value | |
---|---|
Type | Description |
int |
Methods
chunkSize(int chunkSize)
public FetchOptions chunkSize(int chunkSize)
Sets the chunk size. Please read the class javadoc for an explanation of how chunk size is used.
Parameter | |
---|---|
Name | Description |
chunkSize |
int The chunk size to set. Must be greater than 0. |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
cursor(Cursor cursor) (deprecated)
public FetchOptions cursor(Cursor cursor)
Deprecated. use #startCursor instead.
Sets the cursor to start the query from.
Parameter | |
---|---|
Name | Description |
cursor |
Cursor the cursor to set |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
endCursor(Cursor endCursor)
public FetchOptions endCursor(Cursor endCursor)
Sets the cursor at which to end the query.
Parameter | |
---|---|
Name | Description |
endCursor |
Cursor the cursor to set |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
equals(@Nullable Object obj)
public boolean equals(@Nullable Object obj)
Parameter | |
---|---|
Name | Description |
obj |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Object |
Returns | |
---|---|
Type | Description |
boolean |
getChunkSize()
public @Nullable Integer getChunkSize()
Returns the chunk size, or null
if no chunk size was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Integer |
getCursor() (deprecated)
public @Nullable Cursor getCursor()
Deprecated. use #getStartCursor() instead
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable com.google.appengine.api.datastore.Cursor |
The start cursor, or |
getEndCursor()
public @Nullable Cursor getEndCursor()
Returns the end cursor, or null
if no end cursor was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable com.google.appengine.api.datastore.Cursor |
getLimit()
public @Nullable Integer getLimit()
Returns the limit, or null
if no limit was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Integer |
getOffset()
public @Nullable Integer getOffset()
Returns the offset, or null
if no offset was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Integer |
getPrefetchSize()
public @Nullable Integer getPrefetchSize()
Returns the prefetch size, or null
if no prefetch size was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Integer |
getStartCursor()
public @Nullable Cursor getStartCursor()
Returns the start cursor, or null
if no start cursor was provided.
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable com.google.appengine.api.datastore.Cursor |
hashCode()
public int hashCode()
Returns | |
---|---|
Type | Description |
int |
limit(int limit)
public FetchOptions limit(int limit)
Sets the limit. Please read the class javadoc for an explanation of how limit is used.
Parameter | |
---|---|
Name | Description |
limit |
int The limit to set. Must be non-negative. |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
offset(int offset)
public FetchOptions offset(int offset)
Sets the offset. Please read the class javadoc for an explanation of how offset is used.
Parameter | |
---|---|
Name | Description |
offset |
int The offset to set. Must be 0 or greater. |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
prefetchSize(int prefetchSize)
public FetchOptions prefetchSize(int prefetchSize)
Sets the number of entities to prefetch.
Parameter | |
---|---|
Name | Description |
prefetchSize |
int The prefetch size to set. Must be >= 0. |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
startCursor(Cursor startCursor)
public FetchOptions startCursor(Cursor startCursor)
Sets the cursor at which to start the query.
Parameter | |
---|---|
Name | Description |
startCursor |
Cursor the cursor to set |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
toString()
public String toString()
Returns | |
---|---|
Type | Description |
String |