]> source.dussan.org Git - jackcess.git/commitdiff
simplify cursor interface (remove redundant iterator methods)
authorJames Ahlborn <jtahlborn@yahoo.com>
Fri, 15 Mar 2013 16:00:57 +0000 (16:00 +0000)
committerJames Ahlborn <jtahlborn@yahoo.com>
Fri, 15 Mar 2013 16:00:57 +0000 (16:00 +0000)
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/branches/jackcess-2@687 f203690c-595d-4dc9-a70b-905162fa7fd2

src/java/com/healthmarketscience/jackcess/Cursor.java
src/java/com/healthmarketscience/jackcess/impl/CursorImpl.java

index 6d5787cdf8e855f289f341c8edf736c9e0c9049a..636d604c94520a2c54bfd698e1e9b52bedb586b2 100644 (file)
@@ -46,8 +46,6 @@ import com.healthmarketscience.jackcess.util.ColumnMatcher;
 public interface Cursor extends Iterable<Row>
 {
 
-  // FIXME, include iterable and iterator methods?
-
   public Id getId();
 
   public Table getTable();
@@ -129,21 +127,21 @@ public interface Cursor extends Iterable<Row>
   public boolean isCurrentRowDeleted() throws IOException;
 
   /**
-   * Returns an Iterable whose iterator() method calls <code>afterLast</code>
-   * on this cursor and returns a modifiable Iterator which will iterate
-   * through all the rows of this table in reverse order.  Use of the Iterator
-   * follows the same restrictions as a call to <code>getPreviousRow</code>.
+   * Returns an Iterable whose iterator() method calls {@link #afterLast} on
+   * this cursor and returns a modifiable Iterator which will iterate through
+   * all the rows of this table in reverse order.  Use of the Iterator follows
+   * the same restrictions as a call to {@link #getPreviousRow}.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
   public Iterable<Row> reverseIterable();
   
   /**
-   * Returns an Iterable whose iterator() method calls <code>afterLast</code>
-   * on this table and returns a modifiable Iterator which will iterate
-   * through all the rows of this table in reverse order, returning only the
-   * given columns.  Use of the Iterator follows the same restrictions as a
-   * call to <code>getPreviousRow</code>.
+   * Returns an Iterable whose iterator() method calls {@link #afterLast} on
+   * this table and returns a modifiable Iterator which will iterate through
+   * all the rows of this table in reverse order, returning only the given
+   * columns.  Use of the Iterator follows the same restrictions as a call to
+   * {@link #getPreviousRow}.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -151,18 +149,20 @@ public interface Cursor extends Iterable<Row>
       Collection<String> columnNames);
 
   /**
-   * Calls <code>beforeFirst</code> on this cursor and returns a modifiable
+   * Calls {@link #beforeFirst} on this cursor and returns a modifiable
    * Iterator which will iterate through all the rows of this table.  Use of
    * the Iterator follows the same restrictions as a call to
-   * <code>getNextRow</code>.
+   * {@link #getNextRow}.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
   public Iterator<Row> iterator();
 
   /**
-   * Returns an Iterable whose iterator() method returns the result of a call
-   * to {@link #iterator(Collection)}
+   * Returns an Iterable whose iterator() method calls {@link #beforeFirst} on
+   * this table and returns a modifiable Iterator which will iterate through
+   * all the rows of this table, returning only the given columns.  Use of the
+   * Iterator follows the same restrictions as a call to {@link #getNextRow}.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -170,18 +170,12 @@ public interface Cursor extends Iterable<Row>
       Collection<String> columnNames);
 
   /**
-   * Calls <code>beforeFirst</code> on this table and returns a modifiable
-   * Iterator which will iterate through all the rows of this table, returning
-   * only the given columns.  Use of the Iterator follows the same
-   * restrictions as a call to <code>getNextRow</code>.
-   * @throws IllegalStateException if an IOException is thrown by one of the
-   *         operations, the actual exception will be contained within
-   */
-  public Iterator<Row> iterator(Collection<String> columnNames);
-
-  /**
-   * Returns an Iterable whose iterator() method returns the result of a call
-   * to {@link #columnMatchIterable(Column,Object)}
+   * Returns an Iterable whose iterator() method calls {@link #beforeFirst} on
+   * this cursor and returns a modifiable Iterator which will iterate through
+   * all the rows of this table which match the given column pattern.  Use of
+   * the Iterator follows the same restrictions as a call to {@link
+   * #getNextRow}.  See {@link #findFirstRow(Column,Object)} for details on
+   * #the columnPattern.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -189,20 +183,12 @@ public interface Cursor extends Iterable<Row>
       Column columnPattern, Object valuePattern);
 
   /**
-   * Calls <code>beforeFirst</code> on this cursor and returns a modifiable
-   * Iterator which will iterate through all the rows of this table which
-   * match the given column pattern.  Use of the Iterator follows the same
-   * restrictions as a call to <code>getNextRow</code>.  See
-   * {@link #findFirstRow(Column,Object)} for details on the columnPattern.
-   * @throws IllegalStateException if an IOException is thrown by one of the
-   *         operations, the actual exception will be contained within
-   */
-  public Iterator<Row> columnMatchIterator(
-      Column columnPattern, Object valuePattern);
-
-  /**
-   * Returns an Iterable whose iterator() method returns the result of a call
-   * to {@link #columnMatchIterator(Collection,Column,Object)}
+   * Returns an Iterable whose iterator() method calls {@link #beforeFirst} on
+   * this table and returns a modifiable Iterator which will iterate through
+   * all the rows of this table which match the given column pattern,
+   * returning only the given columns.  Use of the Iterator follows the same
+   * restrictions as a call to {@link #getNextRow}.  See {@link
+   * #findFirstRow(Column,Object)} for details on the columnPattern.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -211,21 +197,11 @@ public interface Cursor extends Iterable<Row>
       Column columnPattern, Object valuePattern);
 
   /**
-   * Calls <code>beforeFirst</code> on this table and returns a modifiable
-   * Iterator which will iterate through all the rows of this table which
-   * match the given column pattern, returning only the given columns.  Use of
-   * the Iterator follows the same restrictions as a call to
-   * <code>getNextRow</code>.  See {@link #findFirstRow(Column,Object)} for
-   * details on the columnPattern.
-   * @throws IllegalStateException if an IOException is thrown by one of the
-   *         operations, the actual exception will be contained within
-   */
-  public Iterator<Row> columnMatchIterator(
-      Collection<String> columnNames, Column columnPattern, Object valuePattern);
-
-  /**
-   * Returns an Iterable whose iterator() method returns the result of a call
-   * to {@link #rowMatchIterator(Map)}
+   * Returns an Iterable whose iterator() method calls {@link #beforeFirst} on
+   * this cursor and returns a modifiable Iterator which will iterate through
+   * all the rows of this table which match the given row pattern.  Use of the
+   * Iterator follows the same restrictions as a call to {@link #getNextRow}.
+   * See {@link #findFirstRow(Map)} for details on the rowPattern.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -233,20 +209,12 @@ public interface Cursor extends Iterable<Row>
       Map<String,?> rowPattern);
 
   /**
-   * Calls <code>beforeFirst</code> on this cursor and returns a modifiable
-   * Iterator which will iterate through all the rows of this table which
-   * match the given row pattern.  Use of the Iterator follows the same
-   * restrictions as a call to <code>getNextRow</code>.  See
-   * {@link #findFirstRow(Map)} for details on the rowPattern.
-   * @throws IllegalStateException if an IOException is thrown by one of the
-   *         operations, the actual exception will be contained within
-   */
-  public Iterator<Row> rowMatchIterator(
-      Map<String,?> rowPattern);
-
-  /**
-   * Returns an Iterable whose iterator() method returns the result of a call
-   * to {@link #rowMatchIterator(Collection,Map)}
+   * Returns an Iterable whose iterator() method calls {@link #beforeFirst} on
+   * this table and returns a modifiable Iterator which will iterate through
+   * all the rows of this table which match the given row pattern, returning
+   * only the given columns.  Use of the Iterator follows the same
+   * restrictions as a call to {@link #getNextRow}.  See {@link
+   * #findFirstRow(Map)} for details on the rowPattern.
    * @throws IllegalStateException if an IOException is thrown by one of the
    *         operations, the actual exception will be contained within
    */
@@ -254,19 +222,6 @@ public interface Cursor extends Iterable<Row>
       Collection<String> columnNames,
       Map<String,?> rowPattern);
 
-  /**
-   * Calls <code>beforeFirst</code> on this table and returns a modifiable
-   * Iterator which will iterate through all the rows of this table which
-   * match the given row pattern, returning only the given columns.  Use of
-   * the Iterator follows the same restrictions as a call to
-   * <code>getNextRow</code>.  See {@link #findFirstRow(Map)} for details on
-   * the rowPattern.
-   * @throws IllegalStateException if an IOException is thrown by one of the
-   *         operations, the actual exception will be contained within
-   */
-  public Iterator<Row> rowMatchIterator(
-      Collection<String> columnNames, Map<String,?> rowPattern);
-
   /**
    * Delete the current row.
    * @throws IllegalStateException if the current row is not valid (at
index 7583034656ab5942fdb10e67740413c337689dcf..8d0b4b6e8358840c6f87d8a21d3e8aebb69c65a8 100644 (file)
@@ -440,6 +440,14 @@ public abstract class CursorImpl implements Cursor
     };
   }
   
+  /**
+   * Calls <code>beforeFirst</code> on this table and returns a modifiable
+   * Iterator which will iterate through all the rows of this table, returning
+   * only the given columns.  Use of the Iterator follows the same
+   * restrictions as a call to <code>getNextRow</code>.
+   * @throws IllegalStateException if an IOException is thrown by one of the
+   *         operations, the actual exception will be contained within
+   */
   public Iterator<Row> iterator(Collection<String> columnNames)
   {
     return new RowIterator(columnNames, MOVE_FORWARD);
@@ -457,6 +465,15 @@ public abstract class CursorImpl implements Cursor
     return columnMatchIterable(null, columnPattern, valuePattern);
   }
 
+  /**
+   * Calls <code>beforeFirst</code> on this cursor and returns a modifiable
+   * Iterator which will iterate through all the rows of this table which
+   * match the given column pattern.  Use of the Iterator follows the same
+   * restrictions as a call to <code>getNextRow</code>.  See
+   * {@link #findFirstRow(Column,Object)} for details on the columnPattern.
+   * @throws IllegalStateException if an IOException is thrown by one of the
+   *         operations, the actual exception will be contained within
+   */
   public Iterator<Row> columnMatchIterator(
       Column columnPattern, Object valuePattern)
   {
@@ -489,6 +506,16 @@ public abstract class CursorImpl implements Cursor
     };
   }
 
+  /**
+   * Calls <code>beforeFirst</code> on this table and returns a modifiable
+   * Iterator which will iterate through all the rows of this table which
+   * match the given column pattern, returning only the given columns.  Use of
+   * the Iterator follows the same restrictions as a call to
+   * <code>getNextRow</code>.  See {@link #findFirstRow(Column,Object)} for
+   * details on the columnPattern.
+   * @throws IllegalStateException if an IOException is thrown by one of the
+   *         operations, the actual exception will be contained within
+   */
   public Iterator<Row> columnMatchIterator(
       Collection<String> columnNames, Column columnPattern, 
       Object valuePattern)
@@ -510,6 +537,15 @@ public abstract class CursorImpl implements Cursor
     return rowMatchIterable(null, rowPattern);
   }
   
+  /**
+   * Calls <code>beforeFirst</code> on this cursor and returns a modifiable
+   * Iterator which will iterate through all the rows of this table which
+   * match the given row pattern.  Use of the Iterator follows the same
+   * restrictions as a call to <code>getNextRow</code>.  See
+   * {@link #findFirstRow(Map)} for details on the rowPattern.
+   * @throws IllegalStateException if an IOException is thrown by one of the
+   *         operations, the actual exception will be contained within
+   */
   public Iterator<Row> rowMatchIterator(
       Map<String,?> rowPattern)
   {
@@ -528,6 +564,16 @@ public abstract class CursorImpl implements Cursor
     };
   }
   
+  /**
+   * Calls <code>beforeFirst</code> on this table and returns a modifiable
+   * Iterator which will iterate through all the rows of this table which
+   * match the given row pattern, returning only the given columns.  Use of
+   * the Iterator follows the same restrictions as a call to
+   * <code>getNextRow</code>.  See {@link #findFirstRow(Map)} for details on
+   * the rowPattern.
+   * @throws IllegalStateException if an IOException is thrown by one of the
+   *         operations, the actual exception will be contained within
+   */
   public Iterator<Row> rowMatchIterator(
       Collection<String> columnNames, Map<String,?> rowPattern)
   {