SUMMARY: java.lang.Object
com.webmethods.caf.faces.bean.PageFlowScopeAdapter
com.webmethods.caf.faces.data.sql.RowSetTableContentProvider
- All Implemented Interfaces:
- IPageFlowScopeAdapter, IAddressableTableContentProvider, IContentProvider, IRefreshable, IRefreshableContentProvider, ISelectableTableContentProvider, ISortableTableContentProvider, ITableContentProvider, ITransactionalContentProvider, IUpdateableContentProvider, IUpdateableTableContentProvider, Serializable
public class RowSetTableContentProvider
- extends PageFlowScopeAdapter
- implements IUpdateableTableContentProvider, ISortableTableContentProvider, ISelectableTableContentProvider, IRefreshableContentProvider, ITransactionalContentProvider, Serializable
JDBC CachedRowSet
table content provider implementation. Allows to
access a JDBC datasource and execute SQL queries againt it. Supports
auto-refresh, transactional writebacks, row selection and row sorting. Needs
an configured CachedRowSet instance to wrap. The CachedRowSet object must
have the following properties set:
CachedRowSetImpl rowSet = new CachedRowSetImpl();
rowSet.setDataSourceName("northwind");
rowSet.setCommand("SELECT * FROM CUSTOMERS WHERE Country = ?");
rowSet.setTableName("CUSTOMERS");
ITableContentProvider provider = new RowSetTableContentProvider(rowSet);
provider.getParameters().set(0, "USA"); // country value
// execute the query and read the data
for (int i = 0; i < provider.getRowCount(); i++) {
provider.setRowIndex(i);
if (provider.isRowAvailable()) {
String customerID = (String) provider.getValue("CustomerID");
String companyName = (String) provider.getValue("CompanyName");
}
}
;
// find a customer by id
provider.setRowById("ANTON"); // Customer ID
if (provider.isRowAvailable()) {
provider.setValue("ContactName", "Jonh Doe");
}
provider.setRowById("ALFKI"); // another customer
if (provider.isRowAvailable()) {
provider.setValue("Country", "USA");
}
provider.setRowById("TODELETE");
if (provider.isRowAvailable()) {
provider.deleteRow(); // delete row
}
provider.applyChanges(); // commit changes
// change query parameters
provider.getParameters().set(0, "Ukraine"); // new country value
if (provider.getRowCount() > 0) { // auto-refresh the provider by re-executing
// the query and returing new record count
// no customers from Ukraine, ha?
}
- See Also:
- Serialized Form
rowSet
protected CachedRowSet rowSet
- Wrapped instance of CachedRowSet
autoRefreshMode
protected boolean autoRefreshMode
- Indicates if provider is in "autoRefresh" mode
needRefresh
protected boolean needRefresh
- Indicates if provider needs to be refreshed
RowSetTableContentProvider
public RowSetTableContentProvider()
- Default constructor.
RowSetTableContentProvider.setRowSet(CachedRowSet)
must be called
before use
RowSetTableContentProvider
public RowSetTableContentProvider(CachedRowSet rowSet)
- Initializes with the given rowSet object.
- Parameters:
rowSet
- a cached row set instance