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
`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
`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()