Package org.firebirdsql.jdbc

## Class FBUpdatableCursorFetcher

- java.lang.Object
- - org.firebirdsql.jdbc.FBUpdatableCursorFetcher

-     public class FBUpdatableCursorFetcher
      extends java.lang.Object

  Statement fetcher for updatable cursor case. This fetcher keeps cursor position consistent, however we cannot tell now if we are on the last record. Method `isLast()`throws exception now.
  Author:
    Roman Rokytskyy, Mark Rotteveel

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected RowValue` | `_nextRow` |
    `protected FBObjectListener.FetcherListener` | `fetcherListener` |
    `protected int` | `fetchSize` |
    `protected GDSHelper` | `gdsHelper` |
    `static int` | `MAX_FETCH_ROWS` |
    `protected int` | `maxRows` |
    `protected FbStatement` | `stmt` |
    `protected Synchronizable` | `syncProvider` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `absolute​(int row)` |
    `void` | `afterLast()` |
    `void` | `beforeFirst()` |
    `void` | `close()` |
    `void` | `close​(CompletionReason completionReason)` |
    `void` | `deleteRow()` |
    `void` | `fetch()` |
    `boolean` | `first()` |
    `int` | `getFetchSize()` |
    `protected RowValue` | `getNextRow()` |
    `int` | `getRowNum()` |
    `void` | `insertRow​(RowValue data)` |
    `boolean` | `isAfterLast()` |
    `boolean` | `isBeforeFirst()` |
    `boolean` | `isEmpty()` |
    `boolean` | `isFirst()` |
    `boolean` | `isLast()` |
    `boolean` | `last()` |
    `boolean` | `next()` |
    `boolean` | `previous()` |
    `boolean` | `relative​(int row)` |
    `void` | `setFetchSize​(int fetchSize)` |
    `void` | `setIsAfterLast​(boolean isAfterLastValue)` |
    `void` | `setIsBeforeFirst​(boolean isBeforeFirstValue)` |
    `void` | `setIsEmpty​(boolean isEmptyValue)` |
    `void` | `setIsFirst​(boolean isFirstValue)` |
    `void` | `setIsLast​(boolean isLastValue)` |
    `protected void` | `setNextRow​(RowValue nextRow)` |
    `void` | `setRowNum​(int rowNumValue)` |
    `void` | `updateRow​(RowValue data)` |

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### gdsHelper

          protected final GDSHelper gdsHelper

    - #### fetcherListener

          protected final FBObjectListener.FetcherListener fetcherListener

    - #### maxRows

          protected final int maxRows

    - #### fetchSize

          protected int fetchSize

    - #### syncProvider

          protected final Synchronizable syncProvider

    - #### stmt

          protected final FbStatement stmt

    - #### _nextRow

          protected RowValue _nextRow

    - #### MAX_FETCH_ROWS

          public static final int MAX_FETCH_ROWS

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### next

          public boolean next()
                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### isLast

          public boolean isLast()
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getNextRow

          protected RowValue getNextRow()
                                 throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setNextRow

          protected void setNextRow​(RowValue nextRow)

    - #### absolute

          public boolean absolute​(int row)
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### first

          public boolean first()
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### last

          public boolean last()
                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### previous

          public boolean previous()
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### relative

          public boolean relative​(int row)
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### beforeFirst

          public void beforeFirst()
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### afterLast

          public void afterLast()
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### fetch

          public void fetch()
                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### close

          public void close()
                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### close

          public void close​(CompletionReason completionReason)
                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getRowNum

          public int getRowNum()

    - #### setRowNum

          public void setRowNum​(int rowNumValue)

    - #### isEmpty

          public boolean isEmpty()
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setIsEmpty

          public void setIsEmpty​(boolean isEmptyValue)

    - #### isBeforeFirst

          public boolean isBeforeFirst()
                                throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setIsBeforeFirst

          public void setIsBeforeFirst​(boolean isBeforeFirstValue)

    - #### isFirst

          public boolean isFirst()
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setIsFirst

          public void setIsFirst​(boolean isFirstValue)

    - #### setIsLast

          public void setIsLast​(boolean isLastValue)

    - #### isAfterLast

          public boolean isAfterLast()
                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setIsAfterLast

          public void setIsAfterLast​(boolean isAfterLastValue)

    - #### deleteRow

          public void deleteRow()
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### insertRow

          public void insertRow​(RowValue data)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### updateRow

          public void updateRow​(RowValue data)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setFetchSize

          public void setFetchSize​(int fetchSize)

    - #### getFetchSize

          public int getFetchSize()