com.webmethods.caf.faces.data.object
Class ScalarTableContentProvider

java.lang.Object
  extended by com.webmethods.caf.faces.bean.PageFlowScopeAdapter
      extended by com.webmethods.caf.faces.data.object.ELPropertyContentProvider
          extended by com.webmethods.caf.faces.data.object.ScalarTableContentProvider
All Implemented Interfaces:
IPageFlowScopeAdapter, IContentProvider, ITableContentProvider, IUpdateableContentProvider, Serializable

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
                }
 };
 

See Also:
Serialized Form

Field Summary
protected  int m_index
           
protected  String m_var
           
 
Fields inherited from class com.webmethods.caf.faces.data.object.ELPropertyContentProvider
m_o
 
Fields inherited from class com.webmethods.caf.faces.bean.PageFlowScopeAdapter
fExpireWithPageFlow
 
Constructor Summary
ScalarTableContentProvider(Object scalar)
           
 
Method Summary
 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.
 
Methods inherited from class com.webmethods.caf.faces.data.object.ELPropertyContentProvider
getObject, getPropertyKeys, getType, getValue, hasProperty, isReadOnly, setObject, setValue, toString
 
Methods inherited from class com.webmethods.caf.faces.bean.PageFlowScopeAdapter
getExpireWithPageFlow, setExpireWithPageFlow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.webmethods.caf.faces.data.IContentProvider
getPropertyKeys, getType, getValue, hasProperty, toString
 

Field Detail

m_index

protected int m_index

m_var

protected String m_var
Constructor Detail

ScalarTableContentProvider

public ScalarTableContentProvider(Object scalar)
Method Detail

getRowCount

public int getRowCount()
Always returns 1

Specified by:
getRowCount in interface ITableContentProvider
Returns:
1
See Also:
DataModel

getRowIndex

public int getRowIndex()
Description copied from interface: ITableContentProvider
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.

Specified by:
getRowIndex in interface ITableContentProvider
See Also:
DataModel

setRowIndex

public void setRowIndex(int rowIndex)
Sets new row index.

Specified by:
setRowIndex in interface ITableContentProvider
Parameters:
rowIndex - can be -1 or 0
See Also:
DataModel

isRowAvailable

public boolean isRowAvailable()
Returns true if current index is zero

Specified by:
isRowAvailable in interface ITableContentProvider
See Also:
DataModel

getRowVariable

public String getRowVariable()
Description copied from interface: 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.

Specified by:
getRowVariable in interface ITableContentProvider
Returns:
row variable name or null if not specified
See Also:
ITableContentProvider.setRowVariable(String)

setRowVariable

public void setRowVariable(String var)
Description copied from interface: 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

Specified by:
setRowVariable in interface ITableContentProvider

getCurrentRow

public Object getCurrentRow()
Description copied from interface: ITableContentProvider

Returns wrapped current row object. Can be null if not data is available

Specified by:
getCurrentRow in interface ITableContentProvider
Returns:
current row object
See Also:
ITableContentProvider.isRowAvailable()