Package com.google.android.exoplayer2.offline

## Interface DownloadCursor

- All Superinterfaces:
    `AutoCloseable`, `Closeable`

      public interface DownloadCursor
      extends Closeable

  Provides random read-write access to the result set returned by a database query.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `int` | `getCount()` | Returns the numbers of downloads in the cursor.
    `Download` | `getDownload()` | Returns the download at the current position.
    `int` | `getPosition()` | Returns the current position of the cursor in the download set.
    `default boolean` | `isAfterLast()` | Returns whether the cursor is pointing to the position after the last download.
    `default boolean` | `isBeforeFirst()` | Returns whether the cursor is pointing to the position before the first download.
    `boolean` | `isClosed()` | Returns whether the cursor is closed
    `default boolean` | `isFirst()` | Returns whether the cursor is pointing to the first download.
    `default boolean` | `isLast()` | Returns whether the cursor is pointing to the last download.
    `default boolean` | `moveToFirst()` | Move the cursor to the first download.
    `default boolean` | `moveToLast()` | Move the cursor to the last download.
    `default boolean` | `moveToNext()` | Move the cursor to the next download.
    `boolean` | `moveToPosition​(int position)` | Move the cursor to an absolute position.
    `default boolean` | `moveToPrevious()` | Move the cursor to the previous download.

- - ### Method Detail

    - #### getDownload

          Download getDownload()

      Returns the download at the current position.

    - #### getCount

          int getCount()

      Returns the numbers of downloads in the cursor.

    - #### getPosition

          int getPosition()

      Returns the current position of the cursor in the download set. The value is zero-based. When the download set is first returned the cursor will be at position -1, which is before the first download. After the last download is returned another call to next() will leave the cursor past the last entry, at a position of count().
      Returns:
        the current cursor position.

    - #### moveToPosition

          boolean moveToPosition​(int position)

      Move the cursor to an absolute position. The valid range of values is -1 <= position <= count.

      This method will return true if the request destination was reachable, otherwise, it returns false.

      Parameters:
        `position` - the zero-based position to move to.
      Returns:
        whether the requested move fully succeeded.

    - #### moveToFirst

          default boolean moveToFirst()

      Move the cursor to the first download.

      This method will return false if the cursor is empty.

      Returns:
        whether the move succeeded.

    - #### moveToLast

          default boolean moveToLast()

      Move the cursor to the last download.

      This method will return false if the cursor is empty.

      Returns:
        whether the move succeeded.

    - #### moveToNext

          default boolean moveToNext()

      Move the cursor to the next download.

      This method will return false if the cursor is already past the last entry in the result set.

      Returns:
        whether the move succeeded.

    - #### moveToPrevious

          default boolean moveToPrevious()

      Move the cursor to the previous download.

      This method will return false if the cursor is already before the first entry in the result set.

      Returns:
        whether the move succeeded.

    - #### isFirst

          default boolean isFirst()

      Returns whether the cursor is pointing to the first download.

    - #### isLast

          default boolean isLast()

      Returns whether the cursor is pointing to the last download.

    - #### isBeforeFirst

          default boolean isBeforeFirst()

      Returns whether the cursor is pointing to the position before the first download.

    - #### isAfterLast

          default boolean isAfterLast()

      Returns whether the cursor is pointing to the position after the last download.

    - #### isClosed

          boolean isClosed()

      Returns whether the cursor is closed

    - #### close

          void close()

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`