From 061cfa8f64566b1a8661fd4bc2df87dfcaa41866 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 27 Jan 2015 17:00:39 +0000
Subject: [PATCH] OPENDJ-1716 Various PluggableBackend/Storage refactorings Code review: Nicolas Capponi

---
 opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Cursor.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Cursor.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Cursor.java
index 6e67586..7bd700d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Cursor.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/spi/Cursor.java
@@ -21,9 +21,8 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2014 ForgeRock AS
+ *      Copyright 2014-2015 ForgeRock AS
  */
-
 package org.opends.server.backends.pluggable.spi;
 
 import java.io.Closeable;
@@ -31,22 +30,73 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 
+/**
+ * Cursor that iterates through records in a tree.
+ */
 public interface Cursor extends Closeable
 {
+  /**
+   * Positions the cursor to the provided key if it exists in the tree.
+   *
+   * @param key
+   *          the key where to position the cursor
+   * @return {@code true} if the cursor could be positioned to the key,
+   *         {@code false} otherwise
+   */
   boolean positionToKey(ByteSequence key);
 
+  /**
+   * Positions the cursor to the provided key if it exists in the tree,
+   * or else the lesser key greater than the provided key in the tree.
+   *
+   * @param key
+   *          the key where to position the cursor
+   * @return {@code true} if the cursor could be positioned to the key,
+   *         {@code false} otherwise
+   */
   boolean positionToKeyOrNext(ByteSequence key);
 
+  /**
+   * Positions the cursor to the last key in the tree.
+   *
+   * @return {@code true} if the cursor could be positioned to the last key,
+   *         {@code false} otherwise
+   */
   boolean positionToLastKey();
 
+  /**
+   * Moves this cursor to the next record in the tree.
+   *
+   * @return {@code true} if the cursor could move to the next record,
+   *         {@code false} if no next record exists
+   */
   boolean next();
 
+  /**
+   * Moves this cursor to the previous record in the tree.
+   *
+   * @return {@code true} if the cursor could move to the previous record,
+   *         {@code false} if no previous record exists
+   */
   boolean previous();
 
+  /**
+   * Returns the key of the record on which this cursor is currently positioned.
+   *
+   * @return the current record's key,
+   *         or {@code null} if this cursor is not positioned on any record.
+   */
   ByteString getKey();
 
+  /**
+   * Returns the value of the record on which this cursor is currently positioned.
+   *
+   * @return the current record's value,
+   *         or {@code null} if this cursor is not positioned on any record.
+   */
   ByteString getValue();
 
+  /** {@inheritDoc} */
   @Override
   public void close();
 }
\ No newline at end of file

--
Gitblit v1.10.0