com.google.appengine.api.datastore

## Class Cursor

- java.lang.Object
- - com.google.appengine.api.datastore.Cursor

- All Implemented Interfaces:
    java.io.Serializable

      public final class Cursor
      extends java.lang.Object
      implements java.io.Serializable

  A cursor that represents a position in a query.

  To resume a `Query` at the position defined by a `Cursor`, the `Cursor` must be present in the `FetchOptions` passed to a `PreparedQuery` identical to the one it was created from.

  Cursors can be retrieved from `PreparedQuery.asQueryResult*` functions. A typical use case would be:

  >      Cursor originalCursor = preparedQuery.asQueryResultList(withLimit(20)).getCursor();
  >      String encodedCursor = original.toWebSafeString();

  The encoded cursor can then be passed safely in a get or post arg of a web request and on another request the next batch of results can be retrieved with:

  >      Cursor decodedCursor = Cursor.fromWebSafeString(encodedCursor);
  >      List<Entity> nextBatch = preparedQuery.asQueryResultList(withLimit(20).cursor(decoded));

  See Also:
    Serialized Form

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)`
    `static Cursor` | `fromWebSafeString(java.lang.String encodedCursor)` Decodes the given encoded cursor
    `int` | `hashCode()`
    `Cursor` | `reverse()` Deprecated. It is no longer necessary to call `reverse()` on cursors. A cursor returned by a query may also be used in the query returned by `Query.reverse()`.
    `java.lang.String` | `toString()`
    `java.lang.String` | `toWebSafeString()` Encodes the current cursor as a web safe string that can later be decoded by `fromWebSafeString(String)`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### reverse

          @Deprecated
          public Cursor reverse()

      Deprecated. It is no longer necessary to call `reverse()` on cursors.

      A cursor returned by a query may also be used in the query returned by `Query.reverse()`.

      Returns:
        a cursor identical to `this`

    - #### toWebSafeString

          public java.lang.String toWebSafeString()

      Encodes the current cursor as a web safe string that can later be decoded by `fromWebSafeString(String)`

    - #### fromWebSafeString

          public static Cursor fromWebSafeString(java.lang.String encodedCursor)

      Decodes the given encoded cursor
      Parameters:
        `encodedCursor` -
      Returns:
        the decoded cursor
      Throws:
        `java.lang.IllegalArgumentException` - if the provided string is not a valid encoded cursor

    - #### equals

          public boolean equals(java.lang.Object obj)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`