org.rcfaces.core.model
Interface IDataModel


public interface IDataModel

Version:
$Revision: 1.1 $ $Date: 2007/01/12 15:40:45 $
Author:
Olivier Oeuillot (latest modification by $Author: oeuillot $)

Method Summary
 int getRowCount()
           Return the number of rows of data objects represented by this DataModel.
 Object getRowData()
           Return an object representing the data for the currenty selected row index.
 int getRowIndex()
           Return the zero-relative index of the currently selected row.
 Object getWrappedData()
           Return the object representing the data wrapped by this DataModel, if any.
 boolean isRowAvailable()
           Return a flag indicating whether there is rowData available at the current rowIndex.
 void setRowIndex(int rowIndex)
           Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row.
 void setWrappedData(Object data)
           Set the object representing the data collection wrapped by this DataModel.
 

Method Detail

isRowAvailable

boolean isRowAvailable()

Return a flag indicating whether there is rowData available at the current rowIndex. If no wrappedData is available, return false.

Throws:
FacesException - if an error occurs getting the row availability

getRowCount

int getRowCount()

Return the number of rows of data objects represented by this DataModel. If the number of rows is unknown, or no wrappedData is available, return -1.

Throws:
FacesException - if an error occurs getting the row count

getRowData

Object getRowData()

Return an object representing the data for the currenty selected row index. If no wrappedData is available, return null.

Throws:
FacesException - if an error occurs getting the row data
IllegalArgumentException - if now row data is available at the currently specified row index

getRowIndex

int getRowIndex()

Return the zero-relative index of the currently selected row. If we are not currently positioned on a row, or no wrappedData is available, return -1.

Throws:
FacesException - if an error occurs getting the row index

setRowIndex

void setRowIndex(int rowIndex)

Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row. It is possible to set the row index at a value for which the underlying data collection does not contain any row data. Therefore, callers may use the isRowAvailable() method to detect whether row data will be available for use by the getRowData() method.

If there is no wrappedData available when this method is called, the specified rowIndex is stored (and may be retrieved by a subsequent call to getRowData()), but no event is sent. Otherwise, if the currently selected row index is changed by this call, a DataModelEvent will be sent to the rowSelected() method of all registered DataModelListeners.

Parameters:
rowIndex - The new zero-relative index (must be non-negative)
Throws:
FacesException - if an error occurs setting the row index
IllegalArgumentException - if rowIndex is less than -1

getWrappedData

Object getWrappedData()

Return the object representing the data wrapped by this DataModel, if any.


setWrappedData

void setWrappedData(Object data)

Set the object representing the data collection wrapped by this DataModel. If the specified data is null, detach this DataModel from any previously wrapped data collection instead.

If data is non-null, the currently selected row index must be set to zero, and a DataModelEvent must be sent to the rowSelected() method of all registered DataModelListeners indicating that this row is now selected.

Parameters:
data - Data collection to be wrapped, or null to detach from any previous data collection
Throws:
ClassCastException - if data is not of the appropriate type for this DataModel implementation


Copyright © 2006-2011 Vedana. All Rights Reserved.