All Implemented Interfaces:
Direct Known Subclasses:
ResultDataModel, ArrayDataModel, ScalarDataModel, ListDataModel, ResultSetDataModel
DataModel is an abstraction around arbitrary data binding technologies that can be used to adapt a variety of data sources for use by JavaServer Faces components that support per-row processing for their child components (such as UIData .
The data collection underlying a DataModel instance is modeled as a collection of row objects that can be accessed by a zero-relative cursor (row index). The APIs provide mechanisms to position to a specified zero-relative row index, and to retrieve an object that represents the data that corresponds to the current row index.
A concrete DataModel instance is attached to a particular
collection of underlying data by calling the
method. It can be detached from that underlying data collection by
null parameter to this method.
Concrete DataModel implementations must provide a public
zero-arguments constructor that calls
A convenience constructor that takes a wrapped object of the appropriate
type (and passes it on via a call to
should also be provided.
Event listeners may be registered to receive notifications of when a new row index is selected.
|Method from javax.faces.model.DataModel Summary:|
|addDataModelListener, getDataModelListeners, getRowCount, getRowData, getRowIndex, getWrappedData, isRowAvailable, iterator, removeDataModelListener, setRowIndex, setWrappedData|
|Methods from java.lang.Object:|
|clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait|
|Method from javax.faces.model.DataModel Detail:|
public void addDataModelListener(DataModelListener listener)
Add a new DataModelListener to the set interested in notifications from this DataModel .
public DataModelListener getDataModelListeners()
Return the set of DataModelListener s interested in notifications from this DataModel . If there are no such listeners, an empty array is returned.
abstract public int getRowCount()
Return the number of rows of data objects represented by this
DataModel . If the number of rows is unknown, or no
abstract public E getRowData()
Return an object representing the data for the currenty selected
row index. If no
abstract public int getRowIndex()
Return the zero-relative index of the currently selected row. If
we are not currently positioned on a row, or no
abstract public Object getWrappedData()
Return the object representing the data wrapped by this DataModel , if any.
abstract public boolean isRowAvailable()
Return a flag indicating whether there is
public Iterator<E> iterator()
Return a read-only
public void removeDataModelListener(DataModelListener listener)
Remove an existing DataModelListener from the set interested in notifications from this DataModel .
abstract public 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
If there is no
abstract public void setWrappedData(Object data)
Set the object representing the data collection wrapped by this
DataModel . If the specified