Module java.sql
Package javax.sql

## Interface RowSetReader

All Known Subinterfaces:
  `XmlReader`

    public interface RowSetReader

The facility that a disconnected `RowSet` object calls on to populate itself with rows of data. A reader (an object implementing the `RowSetReader` interface) may be registered with a `RowSet` object that supports the reader/writer paradigm. When the `RowSet` object's `execute` method is called, it in turn calls the reader's `readData` method.

Since:
  1.4

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `readData​(RowSetInternal caller)` Reads the new contents of the calling `RowSet` object.

### Method Detail

#### readData

    void readData​(RowSetInternal caller)
           throws SQLException

Reads the new contents of the calling `RowSet` object. In order to call this method, a `RowSet` object must have implemented the `RowSetInternal` interface and registered this `RowSetReader` object as its reader. The `readData` method is invoked internally by the `RowSet.execute` method for rowsets that support the reader/writer paradigm.

The `readData` method adds rows to the caller. It can be implemented in a wide variety of ways and can even populate the caller with rows from a nonrelational data source. In general, a reader may invoke any of the rowset's methods, with one exception. Calling the method `execute` will cause an `SQLException` to be thrown because `execute` may not be called recursively. Also, when a reader invokes `RowSet` methods, no listeners are notified; that is, no `RowSetEvent` objects are generated and no `RowSetListener` methods are invoked. This is true because listeners are already being notified by the method `execute`.

Parameters:
  `caller` - the `RowSet` object (1) that has implemented the `RowSetInternal` interface, (2) with which this reader is registered, and (3) whose `execute` method called this reader
Throws:
  `SQLException` - if a database access error occurs or this method invokes the `RowSet.execute` method