Package org.springframework.jdbc.support.rowset

# Class ResultSetWrappingSqlRowSet

java.lang.Object
org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSet

All Implemented Interfaces:
  `Serializable`, `SqlRowSet`

public class ResultSetWrappingSqlRowSet extends Object implements SqlRowSet
The common implementation of Spring's `SqlRowSet` interface, wrapping a `ResultSet`, catching any `SQLExceptions` and translating them to a corresponding Spring `InvalidResultSetAccessException`.

The passed-in ResultSet should already be disconnected if the SqlRowSet is supposed to be usable in a disconnected fashion. This means that you will usually pass in a `javax.sql.rowset.CachedRowSet`, which implements the ResultSet interface.

Note: Since JDBC 4.0, it has been clarified that any methods using a String to identify the column should be using the column label. The column label is assigned using the ALIAS keyword in the SQL query string. When the query doesn't use an ALIAS, the default label is the column name. Most JDBC ResultSet implementations follow this pattern, but there are exceptions such as the `com.sun.rowset.CachedRowSetImpl` class which only uses the column name, ignoring any column labels. `ResultSetWrappingSqlRowSet` will translate column labels to the correct column index to provide better support for `com.sun.rowset.CachedRowSetImpl` which is the default implementation used by `JdbcTemplate` when working with RowSets.

Note: This class implements the `java.io.Serializable` marker interface through the SqlRowSet interface, but is only actually serializable if the disconnected ResultSet/RowSet contained in it is serializable. Most CachedRowSet implementations are actually serializable, so serialization should usually work.

Since:
  1.2
Author:
  Thomas Risberg, Juergen Hoeller
See Also:
  - `ResultSet`
  - `CachedRowSet`
  - `JdbcTemplate.queryForRowSet(java.lang.String)`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`ResultSetWrappingSqlRowSet(ResultSet resultSet)`
Create a new `ResultSetWrappingSqlRowSet` for the given `ResultSet`.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`absolute(int row)`
Move the cursor to the given row number in the row set, just after the last row.
`void`
`afterLast()`
Move the cursor to the end of this row set.
`void`
`beforeFirst()`
Move the cursor to the front of this row set, just before the first row.
`int`
`findColumn(String columnLabel)`
Map the given column label to its column index.
`boolean`
`first()`
Move the cursor to the first row of this row set.
`BigDecimal`
`getBigDecimal(int columnIndex)`
Retrieve the value of the indicated column in the current row as a BigDecimal object.
`BigDecimal`
`getBigDecimal(String columnLabel)`
Retrieve the value of the indicated column in the current row as a BigDecimal object.
`boolean`
`getBoolean(int columnIndex)`
Retrieve the value of the indicated column in the current row as a boolean.
`boolean`
`getBoolean(String columnLabel)`
Retrieve the value of the indicated column in the current row as a boolean.
`byte`
`getByte(int columnIndex)`
Retrieve the value of the indicated column in the current row as a byte.
`byte`
`getByte(String columnLabel)`
Retrieve the value of the indicated column in the current row as a byte.
`Date`
`getDate(int columnIndex)`
Retrieve the value of the indicated column in the current row as a Date object.
`Date`
`getDate(int columnIndex, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Date object.
`Date`
`getDate(String columnLabel)`
Retrieve the value of the indicated column in the current row as a Date object.
`Date`
`getDate(String columnLabel, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Date object.
`double`
`getDouble(int columnIndex)`
Retrieve the value of the indicated column in the current row as a Double object.
`double`
`getDouble(String columnLabel)`
Retrieve the value of the indicated column in the current row as a Double object.
`float`
`getFloat(int columnIndex)`
Retrieve the value of the indicated column in the current row as a float.
`float`
`getFloat(String columnLabel)`
Retrieve the value of the indicated column in the current row as a float.
`int`
`getInt(int columnIndex)`
Retrieve the value of the indicated column in the current row as an int.
`int`
`getInt(String columnLabel)`
Retrieve the value of the indicated column in the current row as an int.
`long`
`getLong(int columnIndex)`
Retrieve the value of the indicated column in the current row as a long.
`long`
`getLong(String columnLabel)`
Retrieve the value of the indicated column in the current row as a long.
`final SqlRowSetMetaData`
`getMetaData()`
Retrieve the meta-data, i.e.
`String`
`getNString(int columnIndex)`
Retrieve the value of the indicated column in the current row as a String (for NCHAR, NVARCHAR, LONGNVARCHAR columns).
`String`
`getNString(String columnLabel)`
Retrieve the value of the indicated column in the current row as a String (for NCHAR, NVARCHAR, LONGNVARCHAR columns).
`Object`
`getObject(int columnIndex)`
Retrieve the value of the indicated column in the current row as an Object.
`<T> T`
`getObject(int columnIndex, Class<T> type)`
Retrieve the value of the indicated column in the current row as an Object.
`Object`
`getObject(int columnIndex, Map<String,Class<?>> map)`
Retrieve the value of the indicated column in the current row as an Object.
`Object`
`getObject(String columnLabel)`
Retrieve the value of the indicated column in the current row as an Object.
`<T> T`
`getObject(String columnLabel, Class<T> type)`
Retrieve the value of the indicated column in the current row as an Object.
`Object`
`getObject(String columnLabel, Map<String,Class<?>> map)`
Retrieve the value of the indicated column in the current row as an Object.
`final ResultSet`
`getResultSet()`
Return the underlying ResultSet (usually a `javax.sql.rowset.CachedRowSet`).
`int`
`getRow()`
Retrieve the current row number.
`short`
`getShort(int columnIndex)`
Retrieve the value of the indicated column in the current row as a short.
`short`
`getShort(String columnLabel)`
Retrieve the value of the indicated column in the current row as a short.
`String`
`getString(int columnIndex)`
Retrieve the value of the indicated column in the current row as a String.
`String`
`getString(String columnLabel)`
Retrieve the value of the indicated column in the current row as a String.
`Time`
`getTime(int columnIndex)`
Retrieve the value of the indicated column in the current row as a Time object.
`Time`
`getTime(int columnIndex, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Time object.
`Time`
`getTime(String columnLabel)`
Retrieve the value of the indicated column in the current row as a Time object.
`Time`
`getTime(String columnLabel, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Time object.
`Timestamp`
`getTimestamp(int columnIndex)`
Retrieve the value of the indicated column in the current row as a Timestamp object.
`Timestamp`
`getTimestamp(int columnIndex, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Timestamp object.
`Timestamp`
`getTimestamp(String columnLabel)`
Retrieve the value of the indicated column in the current row as a Timestamp object.
`Timestamp`
`getTimestamp(String columnLabel, Calendar cal)`
Retrieve the value of the indicated column in the current row as a Timestamp object.
`boolean`
`isAfterLast()`
Retrieve whether the cursor is after the last row of this row set.
`boolean`
`isBeforeFirst()`
Retrieve whether the cursor is before the first row of this row set.
`boolean`
`isFirst()`
Retrieve whether the cursor is on the first row of this row set.
`boolean`
`isLast()`
Retrieve whether the cursor is on the last row of this row set.
`boolean`
`last()`
Move the cursor to the last row of this row set.
`boolean`
`next()`
Move the cursor to the next row.
`boolean`
`previous()`
Move the cursor to the previous row.
`boolean`
`relative(int rows)`
Move the cursor a relative number of rows, either positive or negative.
`boolean`
`wasNull()`
Report whether the last column read had a value of SQL `NULL`.

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

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

## Constructor Details

### ResultSetWrappingSqlRowSet

public ResultSetWrappingSqlRowSet(ResultSet resultSet) throws InvalidResultSetAccessException
Create a new `ResultSetWrappingSqlRowSet` for the given `ResultSet`.

Parameters:
  `resultSet` - a disconnected ResultSet to wrap (usually a `javax.sql.rowset.CachedRowSet`)
Throws:
  `InvalidResultSetAccessException` - if extracting the ResultSetMetaData failed
See Also:
  - `CachedRowSet`
  - `ResultSet.getMetaData()`
  - `ResultSetWrappingSqlRowSetMetaData`

## Method Details

### getResultSet

public final ResultSet getResultSet()
Return the underlying ResultSet (usually a `javax.sql.rowset.CachedRowSet`).

See Also:
  - `CachedRowSet`

### getMetaData

public final SqlRowSetMetaData getMetaData()
Description copied from interface: `SqlRowSet`
Retrieve the meta-data, i.e. number, types and properties for the columns of this row set.

Specified by:
  `getMetaData` in interface `SqlRowSet`
Returns:
  a corresponding SqlRowSetMetaData instance
See Also:
  - `ResultSetMetaData.getCatalogName(int)`

### findColumn

public int findColumn(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Map the given column label to its column index.

Specified by:
  `findColumn` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the name of the column
Returns:
  the column index for the given column label
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.findColumn(String)`

### getBigDecimal

@Nullable public BigDecimal getBigDecimal(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a BigDecimal object.

Specified by:
  `getBigDecimal` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  an BigDecimal object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getBigDecimal(int)`

### getBigDecimal

@Nullable public BigDecimal getBigDecimal(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a BigDecimal object.

Specified by:
  `getBigDecimal` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  an BigDecimal object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getBigDecimal(String)`

### getBoolean

public boolean getBoolean(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a boolean.

Specified by:
  `getBoolean` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a boolean representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getBoolean(int)`

### getBoolean

public boolean getBoolean(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a boolean.

Specified by:
  `getBoolean` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a boolean representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getBoolean(String)`

### getByte

public byte getByte(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a byte.

Specified by:
  `getByte` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a byte representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getByte(int)`

### getByte

public byte getByte(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a byte.

Specified by:
  `getByte` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a byte representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getByte(String)`

### getDate

@Nullable public Date getDate(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Date object.

Specified by:
  `getDate` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a Date object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDate(int)`

### getDate

@Nullable public Date getDate(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Date object.

Specified by:
  `getDate` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a Date object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDate(String)`

### getDate

@Nullable public Date getDate(int columnIndex, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Date object.

Specified by:
  `getDate` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Date object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDate(int, Calendar)`

### getDate

@Nullable public Date getDate(String columnLabel, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Date object.

Specified by:
  `getDate` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Date object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDate(String, Calendar)`

### getDouble

public double getDouble(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Double object.

Specified by:
  `getDouble` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a Double object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDouble(int)`

### getDouble

public double getDouble(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Double object.

Specified by:
  `getDouble` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a Double object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getDouble(String)`

### getFloat

public float getFloat(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a float.

Specified by:
  `getFloat` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a float representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getFloat(int)`

### getFloat

public float getFloat(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a float.

Specified by:
  `getFloat` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a float representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getFloat(String)`

### getInt

public int getInt(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an int.

Specified by:
  `getInt` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  an int representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getInt(int)`

### getInt

public int getInt(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an int.

Specified by:
  `getInt` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  an int representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getInt(String)`

### getLong

public long getLong(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a long.

Specified by:
  `getLong` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a long representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getLong(int)`

### getLong

public long getLong(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a long.

Specified by:
  `getLong` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a long representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getLong(String)`

### getNString

@Nullable public String getNString(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a String (for NCHAR, NVARCHAR, LONGNVARCHAR columns).

Specified by:
  `getNString` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a String representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getNString(int)`

### getNString

@Nullable public String getNString(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a String (for NCHAR, NVARCHAR, LONGNVARCHAR columns).

Specified by:
  `getNString` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a String representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getNString(String)`

### getObject

@Nullable public Object getObject(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(int)`

### getObject

@Nullable public Object getObject(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(String)`

### getObject

@Nullable public Object getObject(int columnIndex, Map<String,Class<?>> map) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
  `map` - a Map object containing the mapping from SQL types to Java types
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(int, Map)`

### getObject

@Nullable public Object getObject(String columnLabel, Map<String,Class<?>> map) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
  `map` - a Map object containing the mapping from SQL types to Java types
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(String, Map)`

### getObject

@Nullable public <T> T getObject(int columnIndex, Class<T> type) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
  `type` - the Java type to convert the designated column to
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(int, Class)`

### getObject

@Nullable public <T> T getObject(String columnLabel, Class<T> type) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as an Object.

Specified by:
  `getObject` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
  `type` - the Java type to convert the designated column to
Returns:
  an Object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getObject(String, Class)`

### getShort

public short getShort(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a short.

Specified by:
  `getShort` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a short representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getShort(int)`

### getShort

public short getShort(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a short.

Specified by:
  `getShort` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a short representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getShort(String)`

### getString

@Nullable public String getString(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a String.

Specified by:
  `getString` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a String representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getString(int)`

### getString

@Nullable public String getString(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a String.

Specified by:
  `getString` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a String representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getString(String)`

### getTime

@Nullable public Time getTime(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Time object.

Specified by:
  `getTime` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a Time object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTime(int)`

### getTime

@Nullable public Time getTime(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Time object.

Specified by:
  `getTime` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a Time object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTime(String)`

### getTime

@Nullable public Time getTime(int columnIndex, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Time object.

Specified by:
  `getTime` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Time object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTime(int, Calendar)`

### getTime

@Nullable public Time getTime(String columnLabel, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Time object.

Specified by:
  `getTime` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Time object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTime(String, Calendar)`

### getTimestamp

@Nullable public Timestamp getTimestamp(int columnIndex) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Timestamp object.

Specified by:
  `getTimestamp` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
Returns:
  a Timestamp object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTimestamp(int)`

### getTimestamp

@Nullable public Timestamp getTimestamp(String columnLabel) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Timestamp object.

Specified by:
  `getTimestamp` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
Returns:
  a Timestamp object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTimestamp(String)`

### getTimestamp

@Nullable public Timestamp getTimestamp(int columnIndex, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Timestamp object.

Specified by:
  `getTimestamp` in interface `SqlRowSet`
Parameters:
  `columnIndex` - the column index
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Timestamp object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTimestamp(int, Calendar)`

### getTimestamp

@Nullable public Timestamp getTimestamp(String columnLabel, Calendar cal) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the value of the indicated column in the current row as a Timestamp object.

Specified by:
  `getTimestamp` in interface `SqlRowSet`
Parameters:
  `columnLabel` - the column label
  `cal` - the Calendar to use in constructing the Date
Returns:
  a Timestamp object representing the column value
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getTimestamp(String, Calendar)`

### absolute

public boolean absolute(int row) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the given row number in the row set, just after the last row.

Specified by:
  `absolute` in interface `SqlRowSet`
Parameters:
  `row` - the number of the row where the cursor should move
Returns:
  `true` if the cursor is on the row set, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.absolute(int)`

### afterLast

public void afterLast() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the end of this row set.

Specified by:
  `afterLast` in interface `SqlRowSet`
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.afterLast()`

### beforeFirst

public void beforeFirst() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the front of this row set, just before the first row.

Specified by:
  `beforeFirst` in interface `SqlRowSet`
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.beforeFirst()`

### first

public boolean first() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the first row of this row set.

Specified by:
  `first` in interface `SqlRowSet`
Returns:
  `true` if the cursor is on a valid row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.first()`

### getRow

public int getRow() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve the current row number.

Specified by:
  `getRow` in interface `SqlRowSet`
Returns:
  the current row number
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.getRow()`

### isAfterLast

public boolean isAfterLast() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve whether the cursor is after the last row of this row set.

Specified by:
  `isAfterLast` in interface `SqlRowSet`
Returns:
  `true` if the cursor is after the last row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.isAfterLast()`

### isBeforeFirst

public boolean isBeforeFirst() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve whether the cursor is before the first row of this row set.

Specified by:
  `isBeforeFirst` in interface `SqlRowSet`
Returns:
  `true` if the cursor is before the first row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.isBeforeFirst()`

### isFirst

public boolean isFirst() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve whether the cursor is on the first row of this row set.

Specified by:
  `isFirst` in interface `SqlRowSet`
Returns:
  `true` if the cursor is after the first row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.isFirst()`

### isLast

public boolean isLast() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Retrieve whether the cursor is on the last row of this row set.

Specified by:
  `isLast` in interface `SqlRowSet`
Returns:
  `true` if the cursor is after the last row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.isLast()`

### last

public boolean last() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the last row of this row set.

Specified by:
  `last` in interface `SqlRowSet`
Returns:
  `true` if the cursor is on a valid row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.last()`

### next

public boolean next() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the next row.

Specified by:
  `next` in interface `SqlRowSet`
Returns:
  `true` if the new row is valid, `false` if there are no more rows
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.next()`

### previous

public boolean previous() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor to the previous row.

Specified by:
  `previous` in interface `SqlRowSet`
Returns:
  `true` if the new row is valid, `false` if it is off the row set
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.previous()`

### relative

public boolean relative(int rows) throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Move the cursor a relative number of rows, either positive or negative.

Specified by:
  `relative` in interface `SqlRowSet`
Returns:
  `true` if the cursor is on a row, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.relative(int)`

### wasNull

public boolean wasNull() throws InvalidResultSetAccessException
Description copied from interface: `SqlRowSet`
Report whether the last column read had a value of SQL `NULL`.

Note that you must first call one of the getter methods and then call the `wasNull()` method.

Specified by:
  `wasNull` in interface `SqlRowSet`
Returns:
  `true` if the most recent column retrieved was SQL `NULL`, `false` otherwise
Throws:
  `InvalidResultSetAccessException`
See Also:
  - `ResultSet.wasNull()`