public class ScalarTableContentProvider extends ELPropertyContentProvider implements ITableContentProvider
ITableContentProvider
implementation for an object that doesn't really have rows.
Used internally by table and tree UI controls when bound to a scalar object
class Item { public int getId(); public String getName(); }; Item item = new Item("1", "First Item"); IUpdateableContentProvider provider = new ScalarTableContentProvider(item); for (int i = 0; i < provider.getRowCount(); i++) { // only one iteration provider.setRowIndex(i); if (provider.isRowAvailable()) { Integer itemId = (Integer)provider.getValue("id"); // 1 String itemName = (String)provider.getValue("name"); // returns "First Item" provider.setValue("name", "item name" + i); // updates item name } };
Modifier and Type | Field and Description |
---|---|
protected int |
m_index |
protected String |
m_var |
m_o
fExpireWithPageFlow
Constructor and Description |
---|
ScalarTableContentProvider(Object scalar) |
Modifier and Type | Method and Description |
---|---|
Object |
getCurrentRow()
Returns wrapped current row object.
|
int |
getRowCount()
Always returns 1
|
int |
getRowIndex()
Return the zero-relative index of the currently selected row.
|
String |
getRowVariable()
Returns row variable name.
|
boolean |
isRowAvailable()
Returns true if current index is zero
|
void |
setRowIndex(int rowIndex)
Sets new row index.
|
void |
setRowVariable(String var)
Sets row variable name to use for accessing row specific data.
|
getObject, getPropertyKeys, getType, getValue, hasProperty, isReadOnly, setObject, setValue, toString
getExpireWithPageFlow, setExpireWithPageFlow
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPropertyKeys, getType, getValue, hasProperty, toString
protected int m_index
protected String m_var
public ScalarTableContentProvider(Object scalar)
public int getRowCount()
getRowCount
in interface ITableContentProvider
DataModel.getRowCount()
public int getRowIndex()
ITableContentProvider
If we are not currently positioned on a row, or no wrappedData is available, return -1.
getRowIndex
in interface ITableContentProvider
DataModel.getRowIndex()
public void setRowIndex(int rowIndex)
setRowIndex
in interface ITableContentProvider
rowIndex
- can be -1 or 0DataModel.getRowIndex()
public boolean isRowAvailable()
isRowAvailable
in interface ITableContentProvider
DataModel.isRowAvailable()
public String getRowVariable()
ITableContentProvider
Returns row variable name.
If specified row variable can be used to access current row data for the provider internal needs, like sorting or addressing.
getRowVariable
in interface ITableContentProvider
ITableContentProvider.setRowVariable(String)
public void setRowVariable(String var)
ITableContentProvider
Sets row variable name to use for accessing row specific data. For
example, if the provider wrapps an array of a data objects with
id
property and the variable name is item
, then
the provider implementation can access id
property of each
record as item.id
.
This property should set only once at the provider initialization time
setRowVariable
in interface ITableContentProvider
public Object getCurrentRow()
ITableContentProvider
Returns wrapped current row object. Can be null
if not data
is available
getCurrentRow
in interface ITableContentProvider
ITableContentProvider.isRowAvailable()