Package org.apache.tomcat.dbcp.dbcp2

# Class DelegatingResultSet

java.lang.Object
org.apache.tomcat.dbcp.dbcp2.AbandonedTrace
org.apache.tomcat.dbcp.dbcp2.DelegatingResultSet

All Implemented Interfaces:
  `AutoCloseable`, `ResultSet`, `Wrapper`, `TrackedUse`

public final class DelegatingResultSet extends AbandonedTrace implements ResultSet
A base delegating implementation of `ResultSet`.

All of the methods from the `ResultSet` interface simply call the corresponding method on the "delegate" provided in my constructor.

Extends AbandonedTrace to implement result set tracking and logging of code which created the ResultSet. Tracking the ResultSet ensures that the Statement which created it can close any open ResultSet's on Statement close.

Since:
  2.0

## Field Summary

### Fields inherited from interface java.sql.ResultSet

`CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`absolute(int row)`
`void`
`afterLast()`
`void`
`beforeFirst()`
`void`
`cancelRowUpdates()`
`void`
`clearWarnings()`
`void`
`close()`
Wrapper for close of ResultSet which removes this result set from being traced then calls close on the original ResultSet.
`void`
`deleteRow()`
`int`
`findColumn(String columnName)`
`boolean`
`first()`
`Array`
`getArray(int i)`
`Array`
`getArray(String colName)`
`InputStream`
`getAsciiStream(int columnIndex)`
`InputStream`
`getAsciiStream(String columnName)`
`BigDecimal`
`getBigDecimal(int columnIndex)`
`BigDecimal`
`getBigDecimal(int columnIndex, int scale)`
Deprecated.
Use `getBigDecimal(int)`
`BigDecimal`
`getBigDecimal(String columnName)`
`BigDecimal`
`getBigDecimal(String columnName, int scale)`
Deprecated.
Use `getBigDecimal(String)`
`InputStream`
`getBinaryStream(int columnIndex)`
`InputStream`
`getBinaryStream(String columnName)`
`Blob`
`getBlob(int i)`
`Blob`
`getBlob(String colName)`
`boolean`
`getBoolean(int columnIndex)`
`boolean`
`getBoolean(String columnName)`
`byte`
`getByte(int columnIndex)`
`byte`
`getByte(String columnName)`
`byte[]`
`getBytes(int columnIndex)`
`byte[]`
`getBytes(String columnName)`
`Reader`
`getCharacterStream(int columnIndex)`
`Reader`
`getCharacterStream(String columnName)`
`Clob`
`getClob(int i)`
`Clob`
`getClob(String colName)`
`int`
`getConcurrency()`
`String`
`getCursorName()`
`Date`
`getDate(int columnIndex)`
`Date`
`getDate(int columnIndex, Calendar cal)`
`Date`
`getDate(String columnName)`
`Date`
`getDate(String columnName, Calendar cal)`
`ResultSet`
`getDelegate()`
Gets my delegate.
`double`
`getDouble(int columnIndex)`
`double`
`getDouble(String columnName)`
`int`
`getFetchDirection()`
`int`
`getFetchSize()`
`float`
`getFloat(int columnIndex)`
`float`
`getFloat(String columnName)`
`int`
`getHoldability()`
`ResultSet`
`getInnermostDelegate()`
If my underlying `ResultSet` is not a `DelegatingResultSet`, returns it, otherwise recursively invokes this method on my delegate.
`int`
`getInt(int columnIndex)`
`int`
`getInt(String columnName)`
`long`
`getLong(int columnIndex)`
`long`
`getLong(String columnName)`
`ResultSetMetaData`
`getMetaData()`
`Reader`
`getNCharacterStream(int columnIndex)`
`Reader`
`getNCharacterStream(String columnLabel)`
`NClob`
`getNClob(int columnIndex)`
`NClob`
`getNClob(String columnLabel)`
`String`
`getNString(int columnIndex)`
`String`
`getNString(String columnLabel)`
`Object`
`getObject(int columnIndex)`
`<T> T`
`getObject(int columnIndex, Class<T> type)`
`Object`
`getObject(int i, Map<String,Class<?>> map)`
`Object`
`getObject(String columnName)`
`<T> T`
`getObject(String columnLabel, Class<T> type)`
`Object`
`getObject(String colName, Map<String,Class<?>> map)`
`Ref`
`getRef(int i)`
`Ref`
`getRef(String colName)`
`int`
`getRow()`
`RowId`
`getRowId(int columnIndex)`
`RowId`
`getRowId(String columnLabel)`
`short`
`getShort(int columnIndex)`
`short`
`getShort(String columnName)`
`SQLXML`
`getSQLXML(int columnIndex)`
`SQLXML`
`getSQLXML(String columnLabel)`
`Statement`
`getStatement()`
`String`
`getString(int columnIndex)`
`String`
`getString(String columnName)`
`Time`
`getTime(int columnIndex)`
`Time`
`getTime(int columnIndex, Calendar cal)`
`Time`
`getTime(String columnName)`
`Time`
`getTime(String columnName, Calendar cal)`
`Timestamp`
`getTimestamp(int columnIndex)`
`Timestamp`
`getTimestamp(int columnIndex, Calendar cal)`
`Timestamp`
`getTimestamp(String columnName)`
`Timestamp`
`getTimestamp(String columnName, Calendar cal)`
`int`
`getType()`
`InputStream`
`getUnicodeStream(int columnIndex)`
Deprecated.
Use `getCharacterStream(int)`
`InputStream`
`getUnicodeStream(String columnName)`
Deprecated.
Use `getCharacterStream(String)`
`URL`
`getURL(int columnIndex)`
`URL`
`getURL(String columnName)`
`SQLWarning`
`getWarnings()`
`protected void`
`handleException(SQLException e)`
`void`
`insertRow()`
`boolean`
`isAfterLast()`
`boolean`
`isBeforeFirst()`
`boolean`
`isClosed()`
`boolean`
`isFirst()`
`boolean`
`isLast()`
`boolean`
`isWrapperFor(Class<?> iface)`
`boolean`
`last()`
`void`
`moveToCurrentRow()`
`void`
`moveToInsertRow()`
`boolean`
`next()`
`boolean`
`previous()`
`void`
`refreshRow()`
`boolean`
`relative(int rows)`
`boolean`
`rowDeleted()`
`boolean`
`rowInserted()`
`boolean`
`rowUpdated()`
`void`
`setFetchDirection(int direction)`
`void`
`setFetchSize(int rows)`
`String`
`toString()`
`<T> T`
`unwrap(Class<T> iface)`
`void`
`updateArray(int columnIndex, Array x)`
`void`
`updateArray(String columnName, Array x)`
`void`
`updateAsciiStream(int columnIndex, InputStream inputStream)`
`void`
`updateAsciiStream(int columnIndex, InputStream x, int length)`
`void`
`updateAsciiStream(int columnIndex, InputStream inputStream, long length)`
`void`
`updateAsciiStream(String columnLabel, InputStream inputStream)`
`void`
`updateAsciiStream(String columnName, InputStream x, int length)`
`void`
`updateAsciiStream(String columnLabel, InputStream inputStream, long length)`
`void`
`updateBigDecimal(int columnIndex, BigDecimal x)`
`void`
`updateBigDecimal(String columnName, BigDecimal x)`
`void`
`updateBinaryStream(int columnIndex, InputStream inputStream)`
`void`
`updateBinaryStream(int columnIndex, InputStream x, int length)`
`void`
`updateBinaryStream(int columnIndex, InputStream inputStream, long length)`
`void`
`updateBinaryStream(String columnLabel, InputStream inputStream)`
`void`
`updateBinaryStream(String columnName, InputStream x, int length)`
`void`
`updateBinaryStream(String columnLabel, InputStream inputStream, long length)`
`void`
`updateBlob(int columnIndex, InputStream inputStream)`
`void`
`updateBlob(int columnIndex, InputStream inputStream, long length)`
`void`
`updateBlob(int columnIndex, Blob x)`
`void`
`updateBlob(String columnLabel, InputStream inputStream)`
`void`
`updateBlob(String columnLabel, InputStream inputStream, long length)`
`void`
`updateBlob(String columnName, Blob x)`
`void`
`updateBoolean(int columnIndex, boolean x)`
`void`
`updateBoolean(String columnName, boolean x)`
`void`
`updateByte(int columnIndex, byte x)`
`void`
`updateByte(String columnName, byte x)`
`void`
`updateBytes(int columnIndex, byte[] x)`
`void`
`updateBytes(String columnName, byte[] x)`
`void`
`updateCharacterStream(int columnIndex, Reader reader)`
`void`
`updateCharacterStream(int columnIndex, Reader x, int length)`
`void`
`updateCharacterStream(int columnIndex, Reader reader, long length)`
`void`
`updateCharacterStream(String columnLabel, Reader reader)`
`void`
`updateCharacterStream(String columnName, Reader reader, int length)`
`void`
`updateCharacterStream(String columnLabel, Reader reader, long length)`
`void`
`updateClob(int columnIndex, Reader reader)`
`void`
`updateClob(int columnIndex, Reader reader, long length)`
`void`
`updateClob(int columnIndex, Clob x)`
`void`
`updateClob(String columnLabel, Reader reader)`
`void`
`updateClob(String columnLabel, Reader reader, long length)`
`void`
`updateClob(String columnName, Clob x)`
`void`
`updateDate(int columnIndex, Date x)`
`void`
`updateDate(String columnName, Date x)`
`void`
`updateDouble(int columnIndex, double x)`
`void`
`updateDouble(String columnName, double x)`
`void`
`updateFloat(int columnIndex, float x)`
`void`
`updateFloat(String columnName, float x)`
`void`
`updateInt(int columnIndex, int x)`
`void`
`updateInt(String columnName, int x)`
`void`
`updateLong(int columnIndex, long x)`
`void`
`updateLong(String columnName, long x)`
`void`
`updateNCharacterStream(int columnIndex, Reader reader)`
`void`
`updateNCharacterStream(int columnIndex, Reader reader, long length)`
`void`
`updateNCharacterStream(String columnLabel, Reader reader)`
`void`
`updateNCharacterStream(String columnLabel, Reader reader, long length)`
`void`
`updateNClob(int columnIndex, Reader reader)`
`void`
`updateNClob(int columnIndex, Reader reader, long length)`
`void`
`updateNClob(int columnIndex, NClob value)`
`void`
`updateNClob(String columnLabel, Reader reader)`
`void`
`updateNClob(String columnLabel, Reader reader, long length)`
`void`
`updateNClob(String columnLabel, NClob value)`
`void`
`updateNString(int columnIndex, String value)`
`void`
`updateNString(String columnLabel, String value)`
`void`
`updateNull(int columnIndex)`
`void`
`updateNull(String columnName)`
`void`
`updateObject(int columnIndex, Object x)`
`void`
`updateObject(int columnIndex, Object x, int scale)`
`void`
`updateObject(String columnName, Object x)`
`void`
`updateObject(String columnName, Object x, int scale)`
`void`
`updateRef(int columnIndex, Ref x)`
`void`
`updateRef(String columnName, Ref x)`
`void`
`updateRow()`
`void`
`updateRowId(int columnIndex, RowId value)`
`void`
`updateRowId(String columnLabel, RowId value)`
`void`
`updateShort(int columnIndex, short x)`
`void`
`updateShort(String columnName, short x)`
`void`
`updateSQLXML(int columnIndex, SQLXML value)`
`void`
`updateSQLXML(String columnLabel, SQLXML value)`
`void`
`updateString(int columnIndex, String x)`
`void`
`updateString(String columnName, String x)`
`void`
`updateTime(int columnIndex, Time x)`
`void`
`updateTime(String columnName, Time x)`
`void`
`updateTimestamp(int columnIndex, Timestamp x)`
`void`
`updateTimestamp(String columnName, Timestamp x)`
`boolean`
`wasNull()`
`static ResultSet`
`wrapResultSet(Connection connection, ResultSet resultSet)`
Wraps the given result set in a delegate.
`static ResultSet`
`wrapResultSet(Statement statement, ResultSet resultSet)`
Wraps the given result set in a delegate.

### Methods inherited from class org.apache.tomcat.dbcp.dbcp2.AbandonedTrace

`addTrace, clearTrace, getLastUsed, getTrace, removeThisTrace, removeTrace, setLastUsed, setLastUsed`

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

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

### Methods inherited from interface java.sql.ResultSet

`updateObject, updateObject, updateObject, updateObject`

## Method Details

### wrapResultSet

public static ResultSet wrapResultSet(Connection connection, ResultSet resultSet)
Wraps the given result set in a delegate.

Parameters:
  `connection` - The Connection which created the ResultSet.
  `resultSet` - The ResultSet to wrap.
Returns:
  a new delegate.

### wrapResultSet

public static ResultSet wrapResultSet(Statement statement, ResultSet resultSet)
Wraps the given result set in a delegate.

Parameters:
  `statement` - The Statement which created the ResultSet.
  `resultSet` - The ResultSet to wrap.
Returns:
  a new delegate.

### absolute

public boolean absolute(int row) throws SQLException

Specified by:
  `absolute` in interface `ResultSet`
Throws:
  `SQLException`

### afterLast

public void afterLast() throws SQLException

Specified by:
  `afterLast` in interface `ResultSet`
Throws:
  `SQLException`

### beforeFirst

public void beforeFirst() throws SQLException

Specified by:
  `beforeFirst` in interface `ResultSet`
Throws:
  `SQLException`

### cancelRowUpdates

public void cancelRowUpdates() throws SQLException

Specified by:
  `cancelRowUpdates` in interface `ResultSet`
Throws:
  `SQLException`

### clearWarnings

public void clearWarnings() throws SQLException

Specified by:
  `clearWarnings` in interface `ResultSet`
Throws:
  `SQLException`

### close

public void close() throws SQLException
Wrapper for close of ResultSet which removes this result set from being traced then calls close on the original ResultSet.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `ResultSet`
Throws:
  `SQLException`

### deleteRow

public void deleteRow() throws SQLException

Specified by:
  `deleteRow` in interface `ResultSet`
Throws:
  `SQLException`

### findColumn

public int findColumn(String columnName) throws SQLException

Specified by:
  `findColumn` in interface `ResultSet`
Throws:
  `SQLException`

### first

public boolean first() throws SQLException

Specified by:
  `first` in interface `ResultSet`
Throws:
  `SQLException`

### getArray

public Array getArray(int i) throws SQLException

Specified by:
  `getArray` in interface `ResultSet`
Throws:
  `SQLException`

### getArray

public Array getArray(String colName) throws SQLException

Specified by:
  `getArray` in interface `ResultSet`
Throws:
  `SQLException`

### getAsciiStream

public InputStream getAsciiStream(int columnIndex) throws SQLException

Specified by:
  `getAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### getAsciiStream

public InputStream getAsciiStream(String columnName) throws SQLException

Specified by:
  `getAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### getBigDecimal

public BigDecimal getBigDecimal(int columnIndex) throws SQLException

Specified by:
  `getBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### getBigDecimal

@Deprecated public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
Deprecated.
Use `getBigDecimal(int)`

Specified by:
  `getBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### getBigDecimal

public BigDecimal getBigDecimal(String columnName) throws SQLException

Specified by:
  `getBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### getBigDecimal

@Deprecated public BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
Deprecated.
Use `getBigDecimal(String)`

Specified by:
  `getBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### getBinaryStream

public InputStream getBinaryStream(int columnIndex) throws SQLException

Specified by:
  `getBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### getBinaryStream

public InputStream getBinaryStream(String columnName) throws SQLException

Specified by:
  `getBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### getBlob

public Blob getBlob(int i) throws SQLException

Specified by:
  `getBlob` in interface `ResultSet`
Throws:
  `SQLException`

### getBlob

public Blob getBlob(String colName) throws SQLException

Specified by:
  `getBlob` in interface `ResultSet`
Throws:
  `SQLException`

### getBoolean

public boolean getBoolean(int columnIndex) throws SQLException

Specified by:
  `getBoolean` in interface `ResultSet`
Throws:
  `SQLException`

### getBoolean

public boolean getBoolean(String columnName) throws SQLException

Specified by:
  `getBoolean` in interface `ResultSet`
Throws:
  `SQLException`

### getByte

public byte getByte(int columnIndex) throws SQLException

Specified by:
  `getByte` in interface `ResultSet`
Throws:
  `SQLException`

### getByte

public byte getByte(String columnName) throws SQLException

Specified by:
  `getByte` in interface `ResultSet`
Throws:
  `SQLException`

### getBytes

public byte[] getBytes(int columnIndex) throws SQLException

Specified by:
  `getBytes` in interface `ResultSet`
Throws:
  `SQLException`

### getBytes

public byte[] getBytes(String columnName) throws SQLException

Specified by:
  `getBytes` in interface `ResultSet`
Throws:
  `SQLException`

### getCharacterStream

public Reader getCharacterStream(int columnIndex) throws SQLException

Specified by:
  `getCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### getCharacterStream

public Reader getCharacterStream(String columnName) throws SQLException

Specified by:
  `getCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### getClob

public Clob getClob(int i) throws SQLException

Specified by:
  `getClob` in interface `ResultSet`
Throws:
  `SQLException`

### getClob

public Clob getClob(String colName) throws SQLException

Specified by:
  `getClob` in interface `ResultSet`
Throws:
  `SQLException`

### getConcurrency

public int getConcurrency() throws SQLException

Specified by:
  `getConcurrency` in interface `ResultSet`
Throws:
  `SQLException`

### getCursorName

public String getCursorName() throws SQLException

Specified by:
  `getCursorName` in interface `ResultSet`
Throws:
  `SQLException`

### getDate

public Date getDate(int columnIndex) throws SQLException

Specified by:
  `getDate` in interface `ResultSet`
Throws:
  `SQLException`

### getDate

public Date getDate(int columnIndex, Calendar cal) throws SQLException

Specified by:
  `getDate` in interface `ResultSet`
Throws:
  `SQLException`

### getDate

public Date getDate(String columnName) throws SQLException

Specified by:
  `getDate` in interface `ResultSet`
Throws:
  `SQLException`

### getDate

public Date getDate(String columnName, Calendar cal) throws SQLException

Specified by:
  `getDate` in interface `ResultSet`
Throws:
  `SQLException`

### getDelegate

public ResultSet getDelegate()
Gets my delegate.

Returns:
  my delegate.

### getDouble

public double getDouble(int columnIndex) throws SQLException

Specified by:
  `getDouble` in interface `ResultSet`
Throws:
  `SQLException`

### getDouble

public double getDouble(String columnName) throws SQLException

Specified by:
  `getDouble` in interface `ResultSet`
Throws:
  `SQLException`

### getFetchDirection

public int getFetchDirection() throws SQLException

Specified by:
  `getFetchDirection` in interface `ResultSet`
Throws:
  `SQLException`

### getFetchSize

public int getFetchSize() throws SQLException

Specified by:
  `getFetchSize` in interface `ResultSet`
Throws:
  `SQLException`

### getFloat

public float getFloat(int columnIndex) throws SQLException

Specified by:
  `getFloat` in interface `ResultSet`
Throws:
  `SQLException`

### getFloat

public float getFloat(String columnName) throws SQLException

Specified by:
  `getFloat` in interface `ResultSet`
Throws:
  `SQLException`

### getHoldability

public int getHoldability() throws SQLException

Specified by:
  `getHoldability` in interface `ResultSet`
Throws:
  `SQLException`

### getInnermostDelegate

public ResultSet getInnermostDelegate()
If my underlying `ResultSet` is not a `DelegatingResultSet`, returns it, otherwise recursively invokes this method on my delegate.

Hence this method will return the first delegate that is not a `DelegatingResultSet`, or `null` when no non-`DelegatingResultSet` delegate can be found by traversing this chain.

This method is useful when you may have nested `DelegatingResultSet`s, and you want to make sure to obtain a "genuine" `ResultSet`.

Returns:
  the innermost delegate.

### getInt

public int getInt(int columnIndex) throws SQLException

Specified by:
  `getInt` in interface `ResultSet`
Throws:
  `SQLException`

### getInt

public int getInt(String columnName) throws SQLException

Specified by:
  `getInt` in interface `ResultSet`
Throws:
  `SQLException`

### getLong

public long getLong(int columnIndex) throws SQLException

Specified by:
  `getLong` in interface `ResultSet`
Throws:
  `SQLException`

### getLong

public long getLong(String columnName) throws SQLException

Specified by:
  `getLong` in interface `ResultSet`
Throws:
  `SQLException`

### getMetaData

public ResultSetMetaData getMetaData() throws SQLException

Specified by:
  `getMetaData` in interface `ResultSet`
Throws:
  `SQLException`

### getNCharacterStream

public Reader getNCharacterStream(int columnIndex) throws SQLException

Specified by:
  `getNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### getNCharacterStream

public Reader getNCharacterStream(String columnLabel) throws SQLException

Specified by:
  `getNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### getNClob

public NClob getNClob(int columnIndex) throws SQLException

Specified by:
  `getNClob` in interface `ResultSet`
Throws:
  `SQLException`

### getNClob

public NClob getNClob(String columnLabel) throws SQLException

Specified by:
  `getNClob` in interface `ResultSet`
Throws:
  `SQLException`

### getNString

public String getNString(int columnIndex) throws SQLException

Specified by:
  `getNString` in interface `ResultSet`
Throws:
  `SQLException`

### getNString

public String getNString(String columnLabel) throws SQLException

Specified by:
  `getNString` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public Object getObject(int columnIndex) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public <T> T getObject(int columnIndex, Class<T> type) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public Object getObject(int i, Map<String,Class<?>> map) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public Object getObject(String columnName) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public <T> T getObject(String columnLabel, Class<T> type) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getObject

public Object getObject(String colName, Map<String,Class<?>> map) throws SQLException

Specified by:
  `getObject` in interface `ResultSet`
Throws:
  `SQLException`

### getRef

public Ref getRef(int i) throws SQLException

Specified by:
  `getRef` in interface `ResultSet`
Throws:
  `SQLException`

### getRef

public Ref getRef(String colName) throws SQLException

Specified by:
  `getRef` in interface `ResultSet`
Throws:
  `SQLException`

### getRow

public int getRow() throws SQLException

Specified by:
  `getRow` in interface `ResultSet`
Throws:
  `SQLException`

### getRowId

public RowId getRowId(int columnIndex) throws SQLException

Specified by:
  `getRowId` in interface `ResultSet`
Throws:
  `SQLException`

### getRowId

public RowId getRowId(String columnLabel) throws SQLException

Specified by:
  `getRowId` in interface `ResultSet`
Throws:
  `SQLException`

### getShort

public short getShort(int columnIndex) throws SQLException

Specified by:
  `getShort` in interface `ResultSet`
Throws:
  `SQLException`

### getShort

public short getShort(String columnName) throws SQLException

Specified by:
  `getShort` in interface `ResultSet`
Throws:
  `SQLException`

### getSQLXML

public SQLXML getSQLXML(int columnIndex) throws SQLException

Specified by:
  `getSQLXML` in interface `ResultSet`
Throws:
  `SQLException`

### getSQLXML

public SQLXML getSQLXML(String columnLabel) throws SQLException

Specified by:
  `getSQLXML` in interface `ResultSet`
Throws:
  `SQLException`

### getStatement

public Statement getStatement() throws SQLException

Specified by:
  `getStatement` in interface `ResultSet`
Throws:
  `SQLException`

### getString

public String getString(int columnIndex) throws SQLException

Specified by:
  `getString` in interface `ResultSet`
Throws:
  `SQLException`

### getString

public String getString(String columnName) throws SQLException

Specified by:
  `getString` in interface `ResultSet`
Throws:
  `SQLException`

### getTime

public Time getTime(int columnIndex) throws SQLException

Specified by:
  `getTime` in interface `ResultSet`
Throws:
  `SQLException`

### getTime

public Time getTime(int columnIndex, Calendar cal) throws SQLException

Specified by:
  `getTime` in interface `ResultSet`
Throws:
  `SQLException`

### getTime

public Time getTime(String columnName) throws SQLException

Specified by:
  `getTime` in interface `ResultSet`
Throws:
  `SQLException`

### getTime

public Time getTime(String columnName, Calendar cal) throws SQLException

Specified by:
  `getTime` in interface `ResultSet`
Throws:
  `SQLException`

### getTimestamp

public Timestamp getTimestamp(int columnIndex) throws SQLException

Specified by:
  `getTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### getTimestamp

public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException

Specified by:
  `getTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### getTimestamp

public Timestamp getTimestamp(String columnName) throws SQLException

Specified by:
  `getTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### getTimestamp

public Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException

Specified by:
  `getTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### getType

public int getType() throws SQLException

Specified by:
  `getType` in interface `ResultSet`
Throws:
  `SQLException`

### getUnicodeStream

@Deprecated public InputStream getUnicodeStream(int columnIndex) throws SQLException
Deprecated.
Use `getCharacterStream(int)`

Specified by:
  `getUnicodeStream` in interface `ResultSet`
Throws:
  `SQLException`

### getUnicodeStream

@Deprecated public InputStream getUnicodeStream(String columnName) throws SQLException
Deprecated.
Use `getCharacterStream(String)`

Specified by:
  `getUnicodeStream` in interface `ResultSet`
Throws:
  `SQLException`

### getURL

public URL getURL(int columnIndex) throws SQLException

Specified by:
  `getURL` in interface `ResultSet`
Throws:
  `SQLException`

### getURL

public URL getURL(String columnName) throws SQLException

Specified by:
  `getURL` in interface `ResultSet`
Throws:
  `SQLException`

### getWarnings

public SQLWarning getWarnings() throws SQLException

Specified by:
  `getWarnings` in interface `ResultSet`
Throws:
  `SQLException`

### handleException

protected void handleException(SQLException e) throws SQLException

Throws:
  `SQLException`

### insertRow

public void insertRow() throws SQLException

Specified by:
  `insertRow` in interface `ResultSet`
Throws:
  `SQLException`

### isAfterLast

public boolean isAfterLast() throws SQLException

Specified by:
  `isAfterLast` in interface `ResultSet`
Throws:
  `SQLException`

### isBeforeFirst

public boolean isBeforeFirst() throws SQLException

Specified by:
  `isBeforeFirst` in interface `ResultSet`
Throws:
  `SQLException`

### isClosed

public boolean isClosed() throws SQLException

Specified by:
  `isClosed` in interface `ResultSet`
Throws:
  `SQLException`

### isFirst

public boolean isFirst() throws SQLException

Specified by:
  `isFirst` in interface `ResultSet`
Throws:
  `SQLException`

### isLast

public boolean isLast() throws SQLException

Specified by:
  `isLast` in interface `ResultSet`
Throws:
  `SQLException`

### isWrapperFor

public boolean isWrapperFor(Class<?> iface) throws SQLException

Specified by:
  `isWrapperFor` in interface `Wrapper`
Throws:
  `SQLException`

### last

public boolean last() throws SQLException

Specified by:
  `last` in interface `ResultSet`
Throws:
  `SQLException`

### moveToCurrentRow

public void moveToCurrentRow() throws SQLException

Specified by:
  `moveToCurrentRow` in interface `ResultSet`
Throws:
  `SQLException`

### moveToInsertRow

public void moveToInsertRow() throws SQLException

Specified by:
  `moveToInsertRow` in interface `ResultSet`
Throws:
  `SQLException`

### next

public boolean next() throws SQLException

Specified by:
  `next` in interface `ResultSet`
Throws:
  `SQLException`

### previous

public boolean previous() throws SQLException

Specified by:
  `previous` in interface `ResultSet`
Throws:
  `SQLException`

### refreshRow

public void refreshRow() throws SQLException

Specified by:
  `refreshRow` in interface `ResultSet`
Throws:
  `SQLException`

### relative

public boolean relative(int rows) throws SQLException

Specified by:
  `relative` in interface `ResultSet`
Throws:
  `SQLException`

### rowDeleted

public boolean rowDeleted() throws SQLException

Specified by:
  `rowDeleted` in interface `ResultSet`
Throws:
  `SQLException`

### rowInserted

public boolean rowInserted() throws SQLException

Specified by:
  `rowInserted` in interface `ResultSet`
Throws:
  `SQLException`

### rowUpdated

public boolean rowUpdated() throws SQLException

Specified by:
  `rowUpdated` in interface `ResultSet`
Throws:
  `SQLException`

### setFetchDirection

public void setFetchDirection(int direction) throws SQLException

Specified by:
  `setFetchDirection` in interface `ResultSet`
Throws:
  `SQLException`

### setFetchSize

public void setFetchSize(int rows) throws SQLException

Specified by:
  `setFetchSize` in interface `ResultSet`
Throws:
  `SQLException`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### unwrap

public <T> T unwrap(Class<T> iface) throws SQLException

Specified by:
  `unwrap` in interface `Wrapper`
Throws:
  `SQLException`

### updateArray

public void updateArray(int columnIndex, Array x) throws SQLException

Specified by:
  `updateArray` in interface `ResultSet`
Throws:
  `SQLException`

### updateArray

public void updateArray(String columnName, Array x) throws SQLException

Specified by:
  `updateArray` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(int columnIndex, InputStream inputStream) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(int columnIndex, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(String columnLabel, InputStream inputStream) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateAsciiStream

public void updateAsciiStream(String columnLabel, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateAsciiStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBigDecimal

public void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLException

Specified by:
  `updateBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### updateBigDecimal

public void updateBigDecimal(String columnName, BigDecimal x) throws SQLException

Specified by:
  `updateBigDecimal` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(int columnIndex, InputStream inputStream) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(int columnIndex, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(String columnLabel, InputStream inputStream) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBinaryStream

public void updateBinaryStream(String columnLabel, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateBinaryStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(int columnIndex, Blob x) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(String columnName, Blob x) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBlob

public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException

Specified by:
  `updateBlob` in interface `ResultSet`
Throws:
  `SQLException`

### updateBoolean

public void updateBoolean(int columnIndex, boolean x) throws SQLException

Specified by:
  `updateBoolean` in interface `ResultSet`
Throws:
  `SQLException`

### updateBoolean

public void updateBoolean(String columnName, boolean x) throws SQLException

Specified by:
  `updateBoolean` in interface `ResultSet`
Throws:
  `SQLException`

### updateByte

public void updateByte(int columnIndex, byte x) throws SQLException

Specified by:
  `updateByte` in interface `ResultSet`
Throws:
  `SQLException`

### updateByte

public void updateByte(String columnName, byte x) throws SQLException

Specified by:
  `updateByte` in interface `ResultSet`
Throws:
  `SQLException`

### updateBytes

public void updateBytes(int columnIndex, byte[] x) throws SQLException

Specified by:
  `updateBytes` in interface `ResultSet`
Throws:
  `SQLException`

### updateBytes

public void updateBytes(String columnName, byte[] x) throws SQLException

Specified by:
  `updateBytes` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(int columnIndex, Reader reader) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(int columnIndex, Reader reader, long length) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateCharacterStream

public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException

Specified by:
  `updateCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(int columnIndex, Clob x) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(int columnIndex, Reader reader) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(int columnIndex, Reader reader, long length) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(String columnName, Clob x) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(String columnLabel, Reader reader) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateClob

public void updateClob(String columnLabel, Reader reader, long length) throws SQLException

Specified by:
  `updateClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateDate

public void updateDate(int columnIndex, Date x) throws SQLException

Specified by:
  `updateDate` in interface `ResultSet`
Throws:
  `SQLException`

### updateDate

public void updateDate(String columnName, Date x) throws SQLException

Specified by:
  `updateDate` in interface `ResultSet`
Throws:
  `SQLException`

### updateDouble

public void updateDouble(int columnIndex, double x) throws SQLException

Specified by:
  `updateDouble` in interface `ResultSet`
Throws:
  `SQLException`

### updateDouble

public void updateDouble(String columnName, double x) throws SQLException

Specified by:
  `updateDouble` in interface `ResultSet`
Throws:
  `SQLException`

### updateFloat

public void updateFloat(int columnIndex, float x) throws SQLException

Specified by:
  `updateFloat` in interface `ResultSet`
Throws:
  `SQLException`

### updateFloat

public void updateFloat(String columnName, float x) throws SQLException

Specified by:
  `updateFloat` in interface `ResultSet`
Throws:
  `SQLException`

### updateInt

public void updateInt(int columnIndex, int x) throws SQLException

Specified by:
  `updateInt` in interface `ResultSet`
Throws:
  `SQLException`

### updateInt

public void updateInt(String columnName, int x) throws SQLException

Specified by:
  `updateInt` in interface `ResultSet`
Throws:
  `SQLException`

### updateLong

public void updateLong(int columnIndex, long x) throws SQLException

Specified by:
  `updateLong` in interface `ResultSet`
Throws:
  `SQLException`

### updateLong

public void updateLong(String columnName, long x) throws SQLException

Specified by:
  `updateLong` in interface `ResultSet`
Throws:
  `SQLException`

### updateNCharacterStream

public void updateNCharacterStream(int columnIndex, Reader reader) throws SQLException

Specified by:
  `updateNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateNCharacterStream

public void updateNCharacterStream(int columnIndex, Reader reader, long length) throws SQLException

Specified by:
  `updateNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateNCharacterStream

public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException

Specified by:
  `updateNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateNCharacterStream

public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException

Specified by:
  `updateNCharacterStream` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(int columnIndex, NClob value) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(int columnIndex, Reader reader) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(String columnLabel, NClob value) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(String columnLabel, Reader reader) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNClob

public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException

Specified by:
  `updateNClob` in interface `ResultSet`
Throws:
  `SQLException`

### updateNString

public void updateNString(int columnIndex, String value) throws SQLException

Specified by:
  `updateNString` in interface `ResultSet`
Throws:
  `SQLException`

### updateNString

public void updateNString(String columnLabel, String value) throws SQLException

Specified by:
  `updateNString` in interface `ResultSet`
Throws:
  `SQLException`

### updateNull

public void updateNull(int columnIndex) throws SQLException

Specified by:
  `updateNull` in interface `ResultSet`
Throws:
  `SQLException`

### updateNull

public void updateNull(String columnName) throws SQLException

Specified by:
  `updateNull` in interface `ResultSet`
Throws:
  `SQLException`

### updateObject

public void updateObject(int columnIndex, Object x) throws SQLException

Specified by:
  `updateObject` in interface `ResultSet`
Throws:
  `SQLException`

### updateObject

public void updateObject(int columnIndex, Object x, int scale) throws SQLException

Specified by:
  `updateObject` in interface `ResultSet`
Throws:
  `SQLException`

### updateObject

public void updateObject(String columnName, Object x) throws SQLException

Specified by:
  `updateObject` in interface `ResultSet`
Throws:
  `SQLException`

### updateObject

public void updateObject(String columnName, Object x, int scale) throws SQLException

Specified by:
  `updateObject` in interface `ResultSet`
Throws:
  `SQLException`

### updateRef

public void updateRef(int columnIndex, Ref x) throws SQLException

Specified by:
  `updateRef` in interface `ResultSet`
Throws:
  `SQLException`

### updateRef

public void updateRef(String columnName, Ref x) throws SQLException

Specified by:
  `updateRef` in interface `ResultSet`
Throws:
  `SQLException`

### updateRow

public void updateRow() throws SQLException

Specified by:
  `updateRow` in interface `ResultSet`
Throws:
  `SQLException`

### updateRowId

public void updateRowId(int columnIndex, RowId value) throws SQLException

Specified by:
  `updateRowId` in interface `ResultSet`
Throws:
  `SQLException`

### updateRowId

public void updateRowId(String columnLabel, RowId value) throws SQLException

Specified by:
  `updateRowId` in interface `ResultSet`
Throws:
  `SQLException`

### updateShort

public void updateShort(int columnIndex, short x) throws SQLException

Specified by:
  `updateShort` in interface `ResultSet`
Throws:
  `SQLException`

### updateShort

public void updateShort(String columnName, short x) throws SQLException

Specified by:
  `updateShort` in interface `ResultSet`
Throws:
  `SQLException`

### updateSQLXML

public void updateSQLXML(int columnIndex, SQLXML value) throws SQLException

Specified by:
  `updateSQLXML` in interface `ResultSet`
Throws:
  `SQLException`

### updateSQLXML

public void updateSQLXML(String columnLabel, SQLXML value) throws SQLException

Specified by:
  `updateSQLXML` in interface `ResultSet`
Throws:
  `SQLException`

### updateString

public void updateString(int columnIndex, String x) throws SQLException

Specified by:
  `updateString` in interface `ResultSet`
Throws:
  `SQLException`

### updateString

public void updateString(String columnName, String x) throws SQLException

Specified by:
  `updateString` in interface `ResultSet`
Throws:
  `SQLException`

### updateTime

public void updateTime(int columnIndex, Time x) throws SQLException

Specified by:
  `updateTime` in interface `ResultSet`
Throws:
  `SQLException`

### updateTime

public void updateTime(String columnName, Time x) throws SQLException

Specified by:
  `updateTime` in interface `ResultSet`
Throws:
  `SQLException`

### updateTimestamp

public void updateTimestamp(int columnIndex, Timestamp x) throws SQLException

Specified by:
  `updateTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### updateTimestamp

public void updateTimestamp(String columnName, Timestamp x) throws SQLException

Specified by:
  `updateTimestamp` in interface `ResultSet`
Throws:
  `SQLException`

### wasNull

public boolean wasNull() throws SQLException

Specified by:
  `wasNull` in interface `ResultSet`
Throws:
  `SQLException`