Class FetchOptions
- java.lang.Object
-
- com.google.appengine.api.datastore.FetchOptions
-
public final class FetchOptions extends java.lang.ObjectDescribes the limit, offset, and chunk size to be applied when executing aPreparedQuery.limitis the maximum number of results the query will return.offsetis the number of results to skip before returning any results. Results that are skipped due to offset do not count againstlimit.
Note: Usingoffsetstill 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.startCursorandendCursorare previously generated cursors that point to locations in a result set. If specified queries will start and end at these locations.prefetchSizeis the number of results retrieved on the first call to the datastore.chunkSizedetermines the internal chunking strategy of theIteratorreturned byPreparedQuery.asIterator(FetchOptions)and theIterablereturned byPreparedQuery.asIterable(FetchOptions).Note that unlike
limit,offsetandcursor,prefetchSizeandchunkSizehave no impact on the result of thePreparedQuery, but rather only the performance of thePreparedQuery.Notes on usage:
The recommended way to instantiate aFetchOptionsobject is to importFetchOptionsand 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 classFetchOptions.BuilderContains static creation methods forFetchOptions.
-
Field Summary
Fields Modifier and Type Field and Description static intDEFAULT_CHUNK_SIZEDeprecated.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 FetchOptionschunkSize(int chunkSize)Sets the chunk size.FetchOptionscursor(Cursor cursor)Deprecated.usestartCursorinstead.FetchOptionsendCursor(Cursor endCursor)Sets the cursor at which to end the query.booleanequals(java.lang.Object obj)java.lang.IntegergetChunkSize()CursorgetCursor()Deprecated.usegetStartCursor()insteadCursorgetEndCursor()java.lang.IntegergetLimit()java.lang.IntegergetOffset()java.lang.IntegergetPrefetchSize()CursorgetStartCursor()inthashCode()FetchOptionslimit(int limit)Sets the limit.FetchOptionsoffset(int offset)Sets the offset.FetchOptionsprefetchSize(int prefetchSize)Sets the number of entities to prefetch.FetchOptionsstartCursor(Cursor startCursor)Sets the cursor at which to start the query.java.lang.StringtoString()
-
-
-
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. usestartCursorinstead.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
nullif no limit was provided.
-
getOffset
public java.lang.Integer getOffset()
- Returns:
- The offset, or
nullif no offset was provided.
-
getChunkSize
public java.lang.Integer getChunkSize()
- Returns:
- The chunk size, or
nullif no chunk size was provided.
-
getPrefetchSize
public java.lang.Integer getPrefetchSize()
- Returns:
- The prefetch size, or
nullif no prefetch size was provided.
-
getCursor
@Deprecated public Cursor getCursor()
Deprecated. usegetStartCursor()instead- Returns:
- The start cursor, or
nullif no cursor was provided.
-
getStartCursor
public Cursor getStartCursor()
- Returns:
- The start cursor, or
nullif no start cursor was provided.
-
getEndCursor
public Cursor getEndCursor()
- Returns:
- The end cursor, or
nullif no end cursor was provided.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-