Top Description Fields Constructors Methods
javax.faces.model

public Class ResultDataModel

extends DataModel<SortedMap<String, Object>>
Class Inheritance
Imports
java.util.SortedMap, javax.servlet.jsp.jstl.sql.Result

ResultDataModel is a convenience implementation of DataModel that wraps a JSTL Result object, typically representing the results of executing an SQL query via JSTL tags.

Field Summary

Modifier and TypeField and Description
private int
private Result
private SortedMap<K, V>[]

Constructor Summary

AccessConstructor and Description
public
ResultDataModel()

Construct a new ResultDataModel with no specified wrapped data.

public
ResultDataModel(Result
Result to be wrapped (if any)
result
)

Construct a new ResultDataModel wrapping the specified Result.

Method Summary

Modifier and TypeMethod and Description
public int
getRowCount()

Implements abstract javax.faces.model.DataModel.getRowCount.

If there is wrappedData available, return the length of the array returned by calling getRows() on the underlying Result.

public SortedMap<String, Object>
getRowData()

Implements abstract javax.faces.model.DataModel.getRowData.

If row data is available, return the SortedMap array element at the index specified by rowIndex of the array returned by calling getRows() on the underlying Result.

public int
getRowIndex()

Implements abstract javax.faces.model.DataModel.getRowIndex.

Return the zero-relative index of the currently selected row.

public Object
getWrappedData()

Implements abstract javax.faces.model.DataModel.getWrappedData.

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

public boolean
isRowAvailable()

Implements abstract javax.faces.model.DataModel.isRowAvailable.

Return true if there is wrappedData available, and the current value of rowIndex is greater than or equal to zero, and less than the length of the array returned by calling getRows() on the underlying Result.

public void
setRowIndex(int
The new zero-relative index (must be non-negative)
rowIndex
)

Implements abstract javax.faces.model.DataModel.setRowIndex.

Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row.

public void
setWrappedData(Object
Data collection to be wrapped, or null to detach from any previous data collection
data
)

Implements abstract javax.faces.model.DataModel.setWrappedData.

Set the object representing the data collection wrapped by this DataModel.

Inherited from javax.faces.model.DataModel:
addDataModelListenergetDataModelListenersiteratorremoveDataModelListener

Field Detail

indexback to summary
private int index
resultback to summary
private Result result
rowsback to summary
private SortedMap<K, V>[] rows

Constructor Detail

ResultDataModelback to summary
public ResultDataModel()

Construct a new ResultDataModel with no specified wrapped data.

ResultDataModelback to summary
public ResultDataModel(Result result)

Construct a new ResultDataModel wrapping the specified Result.

Parameters
result:Result

Result to be wrapped (if any)

Method Detail

getRowCountback to summary
public int getRowCount()

Implements abstract javax.faces.model.DataModel.getRowCount.

If there is wrappedData available, return the length of the array returned by calling getRows() on the underlying Result. If no wrappedData is available, return -1.

Returns:int

Doc from javax.faces.model.DataModel.getRowCount.

the number of rows of data represented by this DataModel

Annotations
@Override
Exceptions
FacesException:
if an error occurs getting the row count
getRowDataback to summary
public SortedMap<String, Object> getRowData()

Implements abstract javax.faces.model.DataModel.getRowData.

If row data is available, return the SortedMap array element at the index specified by rowIndex of the array returned by calling getRows() on the underlying Result. If no wrapped data is available, return null.

Note that, if a non-null Map is returned by this method, it will contain the values of the columns for the current row, keyed by column name. Column name comparisons must be performed in a case-insensitive manner.

Returns:SortedMap<String, Object>

Doc from javax.faces.model.DataModel.getRowData.

an object representing the data for the currently selected row index

Annotations
@Override
Exceptions
FacesException:
if an error occurs getting the row data
IllegalArgumentException:
if now row data is available at the currently specified row index
getRowIndexback to summary
public int getRowIndex()

Implements abstract javax.faces.model.DataModel.getRowIndex.

Doc from javax.faces.model.DataModel.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.

Returns:int

the index of the currently selected row

Annotations
@Override
Exceptions
FacesException:
if an error occurs getting the row index
getWrappedDataback to summary
public Object getWrappedData()

Implements abstract javax.faces.model.DataModel.getWrappedData.

Doc from javax.faces.model.DataModel.getWrappedData.

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

Returns:Object

the Object that this model wraps.

Annotations
@Override
isRowAvailableback to summary
public boolean isRowAvailable()

Implements abstract javax.faces.model.DataModel.isRowAvailable.

Return true if there is wrappedData available, and the current value of rowIndex is greater than or equal to zero, and less than the length of the array returned by calling getRows() on the underlying Result. Otherwise, return false.

Returns:boolean

Doc from javax.faces.model.DataModel.isRowAvailable.

true if and only if there is data available at the current index, false otherwise.

Annotations
@Override
Exceptions
FacesException:
if an error occurs getting the row availability
setRowIndexback to summary
public void setRowIndex(int rowIndex)

Implements abstract javax.faces.model.DataModel.setRowIndex.

Doc from javax.faces.model.DataModel.setRowIndex.

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:int

The new zero-relative index (must be non-negative)

Annotations
@Override
Exceptions
FacesException:
if an error occurs setting the row index
IllegalArgumentException:
if rowIndex is less than -1
setWrappedDataback to summary
public void setWrappedData(Object data)

Implements abstract javax.faces.model.DataModel.setWrappedData.

Doc from javax.faces.model.DataModel.setWrappedData.

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:Object

Data collection to be wrapped, or null to detach from any previous data collection

Annotations
@Override
Exceptions
ClassCastException:
if data is non-null and is not a Result