|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.faces.model.DataModel
org.apache.myfaces.trinidad.model.CollectionModel
public abstract class CollectionModel
The data model that is used by the Trinidad Table and Iterator components. This extends the Faces DataModel class and adds on support for rowKeys and sorting. Ordinary DataModels are still supported, and will automatically be wrapped into CollectionModels, but without the added functionality.
In the Faces DataModel, rows are identified entirely by index. This causes major problems if the underlying data changes from one request to the next - a user request to delete one row may delete a different row because a row got added by another user, etc. To work around this, CollectionModel is based around row keys instead of indices. An implementation of CollectionModel must implement getRowKey() and setRowKey(), and handle conversion from integer indices to row keys. A trivial implementation might simply use Integer objects as the row keys, but a better version could use a unique ID in the row.
Constructor Summary | |
---|---|
CollectionModel()
|
Method Summary | |
---|---|
java.lang.Object |
getRowData(int rowIndex)
Gets the rowData at the given index. |
abstract java.lang.Object |
getRowKey()
Gets the rowKey of the current row. |
java.util.List<SortCriterion> |
getSortCriteria()
Gets the criteria that this collection is sorted by. |
boolean |
isRowAvailable(int rowIndex)
Checks to see if the row at the given index is available. |
boolean |
isSortable(java.lang.String property)
Return true if this collection is sortable by the given property. |
abstract void |
setRowKey(java.lang.Object key)
Finds the row with the matching key and makes it current |
void |
setSortCriteria(java.util.List<SortCriterion> criteria)
Sorts this collection by the given criteria. |
Methods inherited from class javax.faces.model.DataModel |
---|
addDataModelListener, getDataModelListeners, getRowCount, getRowData, getRowIndex, getWrappedData, isRowAvailable, removeDataModelListener, setRowIndex, setWrappedData |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.myfaces.trinidad.model.RowKeyIndex |
---|
getRowCount, getRowData, getRowIndex, isRowAvailable, setRowIndex |
Constructor Detail |
---|
public CollectionModel()
Method Detail |
---|
public abstract java.lang.Object getRowKey()
Object.equals(java.lang.Object)
and Object.hashCode()
as they will be used
as keys in hashtables. rowKeys should also be Serializable, so that the
application can run under all JSF state-saving schemes.
getRowKey
in interface RowKeyIndex
setRowKey(java.lang.Object)
public abstract void setRowKey(java.lang.Object key)
setRowKey
in interface RowKeyIndex
key
- the rowKey, previously obtained from getRowKey()
.public boolean isRowAvailable(int rowIndex)
DataModel.isRowAvailable()
.
Finally, the row that was current before this method was called
is made current again.
isRowAvailable
in interface RowKeyIndex
rowIndex
- the index of the row to check.
public java.lang.Object getRowData(int rowIndex)
DataModel.getRowData()
.
Finally, the row that was current before this method was called
is made current again.
getRowData
in interface RowKeyIndex
rowIndex
- the index of the row to get data from.
public boolean isSortable(java.lang.String property)
public java.util.List<SortCriterion> getSortCriteria()
SortCriterion
public void setSortCriteria(java.util.List<SortCriterion> criteria)
criteria
- Each element in this List must be of type SortCriterion.
The empty list may be used to cancel any sort order. null should be treated
the same as an empty list.SortCriterion
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |