ForwardCursor (Oracle - Berkeley DB Java Edition API)
Date: 2014-12-16

com.sleepycat.persist

## Interface ForwardCursor<V>

- All Superinterfaces:
    AutoCloseable, Closeable, Iterable<V>
  All Known Subinterfaces:
    EntityCursor<V>

      public interface ForwardCursor<V>
      extends Iterable<V>, Closeable

  Cursor operations limited to traversing forward. See `EntityCursor` for general information on cursors.

  `ForwardCursor` objects are not thread-safe. Cursors should be opened, used and closed by a single thread.

  WARNING: Cursors must always be closed to prevent resource leaks which could lead to the index becoming unusable or cause an `OutOfMemoryError`. To ensure that a cursor is closed in the face of exceptions, close it in a finally block.

  Author:
    Mark Hayes

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes the cursor.
    `Iterator<V>` | `iterator()` Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.
    `Iterator<V>` | `iterator(LockMode lockMode)` Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.
    `V` | `next()` Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range.
    `V` | `next(LockMode lockMode)` Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range.

- - ### Method Detail

    - #### next

          V next()
                 throws DatabaseException

      Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range. If the cursor is uninitialized, this method returns the first value.

      `LockMode.DEFAULT` is used implicitly.

      Returns:
        the next value, or null if there are no more values in the cursor range.
      Throws:
        `OperationFailureException` - if one of the Read Operation Failures occurs.
        `EnvironmentFailureException` - if an unexpected, internal or environment-wide failure occurs.
        `DatabaseException` - the base class for all BDB exceptions.

    - #### next

          V next(LockMode lockMode)
                 throws DatabaseException

      Moves the cursor to the next value and returns it, or returns null if there are no more values in the cursor range. If the cursor is uninitialized, this method returns the first value.
      Parameters:
        `lockMode` - the lock mode to use for this operation, or null to use `LockMode.DEFAULT`.
      Returns:
        the next value, or null if there are no more values in the cursor range.
      Throws:
        `OperationFailureException` - if one of the Read Operation Failures occurs.
        `EnvironmentFailureException` - if an unexpected, internal or environment-wide failure occurs.
        `DatabaseException` - the base class for all BDB exceptions.

    - #### iterator

          Iterator<V> iterator()

      Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.

      `LockMode.DEFAULT` is used implicitly.

      Specified by:
        `iterator` in interface `Iterable<V>`
      Returns:
        the iterator.

    - #### iterator

          Iterator<V> iterator(LockMode lockMode)

      Returns an iterator over the key range, starting with the value following the current position or at the first value if the cursor is uninitialized.
      Parameters:
        `lockMode` - the lock mode to use for all operations performed using the iterator, or null to use `LockMode.DEFAULT`.
      Returns:
        the iterator.

    - #### close

          void close()
                     throws DatabaseException

      Closes the cursor.
      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`
      Throws:
        `DatabaseException` - the base class for all BDB exceptions.

Copyright (c) 2004, 2014 Oracle and/or its affiliates. All rights reserved.