Class FetchOptions
- java.lang.Object
-
- com.google.appengine.api.datastore.FetchOptions
-
public final class FetchOptions extends java.lang.Object
Describes the limit, offset, and chunk size to be applied when executing aPreparedQuery
.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 againstlimit
.
Note: Usingoffset
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
andendCursor
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 theIterator
returned byPreparedQuery.asIterator(FetchOptions)
and theIterable
returned byPreparedQuery.asIterable(FetchOptions)
.Note that unlike
limit
,offset
andcursor
,prefetchSize
andchunkSize
have no impact on the result of thePreparedQuery
, but rather only the performance of thePreparedQuery
.Notes on usage:
The recommended way to instantiate aFetchOptions
object is to importFetchOptions
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));
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
FetchOptions.Builder
Contains static creation methods forFetchOptions
.
-
Field Summary
Fields Modifier and Type Field and Description static int
DEFAULT_CHUNK_SIZE
Deprecated.Instead of using DEFAULT_CHUNK_SIZE, do not specify a chunk size.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method and Description FetchOptions
chunkSize(int chunkSize)
Sets the chunk size.FetchOptions
cursor(Cursor cursor)
Deprecated.usestartCursor
instead.FetchOptions
endCursor(Cursor endCursor)
Sets the cursor at which to end the query.boolean
equals(java.lang.Object obj)
java.lang.Integer
getChunkSize()
Cursor
getCursor()
Deprecated.usegetStartCursor()
insteadCursor
getEndCursor()
java.lang.Integer
getLimit()
java.lang.Integer
getOffset()
java.lang.Integer
getPrefetchSize()
Cursor
getStartCursor()
int
hashCode()
FetchOptions
limit(int limit)
Sets the limit.FetchOptions
offset(int offset)
Sets the offset.FetchOptions
prefetchSize(int prefetchSize)
Sets the number of entities to prefetch.FetchOptions
startCursor(Cursor startCursor)
Sets the cursor at which to start the query.java.lang.String
toString()
-
-
-
Field Detail
-
DEFAULT_CHUNK_SIZE
@Deprecated public static final int DEFAULT_CHUNK_SIZE
Deprecated. Instead of using DEFAULT_CHUNK_SIZE, do not specify a chunk size.- See Also:
- Constant Field Values
-
-
Method Detail
-
limit
public FetchOptions limit(int limit)
Sets the limit. Please read the class javadoc for an explanation of how limit is used.- Parameters:
limit
- The limit to set. Must be non-negative.- Returns:
this
(for chaining)
-
offset
public FetchOptions offset(int offset)
Sets the offset. Please read the class javadoc for an explanation of how offset is used.- Parameters:
offset
- The offset to set. Must be 0 or greater.- Returns:
this
(for chaining)
-
chunkSize
public FetchOptions chunkSize(int chunkSize)
Sets the chunk size. Please read the class javadoc for an explanation of how chunk size is used.- Parameters:
chunkSize
- The chunk size to set. Must be greater than 0.- Returns:
this
(for chaining)
-
prefetchSize
public FetchOptions prefetchSize(int prefetchSize)
Sets the number of entities to prefetch.- Parameters:
prefetchSize
- The prefetch size to set. Must be >= 0.- Returns:
this
(for chaining)
-
cursor
@Deprecated public FetchOptions cursor(Cursor cursor)
Deprecated. usestartCursor
instead.Sets the cursor to start the query from.- Parameters:
cursor
- the cursor to set- Returns:
this
(for chaining)
-
startCursor
public FetchOptions startCursor(Cursor startCursor)
Sets the cursor at which to start the query.- Parameters:
startCursor
- the cursor to set- Returns:
this
(for chaining)
-
endCursor
public FetchOptions endCursor(Cursor endCursor)
Sets the cursor at which to end the query.- Parameters:
endCursor
- the cursor to set- Returns:
this
(for chaining)
-
getLimit
public java.lang.Integer getLimit()
- Returns:
- The limit, or
null
if no limit was provided.
-
getOffset
public java.lang.Integer getOffset()
- Returns:
- The offset, or
null
if no offset was provided.
-
getChunkSize
public java.lang.Integer getChunkSize()
- Returns:
- The chunk size, or
null
if no chunk size was provided.
-
getPrefetchSize
public java.lang.Integer getPrefetchSize()
- Returns:
- The prefetch size, or
null
if no prefetch size was provided.
-
getCursor
@Deprecated public Cursor getCursor()
Deprecated. usegetStartCursor()
instead- Returns:
- The start cursor, or
null
if no cursor was provided.
-
getStartCursor
public Cursor getStartCursor()
- Returns:
- The start cursor, or
null
if no start cursor was provided.
-
getEndCursor
public Cursor getEndCursor()
- Returns:
- The end cursor, or
null
if no end cursor was provided.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-