com.webmethods.caf.faces.data.export
Class CSVExportProvider

java.lang.Object
  extended by com.webmethods.caf.faces.data.object.BoundPropertiesContentProvider
      extended by com.webmethods.caf.faces.data.object.BoundPropertiesTableContentProvider
          extended by com.webmethods.caf.faces.data.export.PageableExportProvider
              extended by com.webmethods.caf.faces.data.export.CSVExportProvider
All Implemented Interfaces:
IContentProvider, ISortableTableContentProvider, ITableContentProvider, IUpdateableContentProvider

public class CSVExportProvider
extends PageableExportProvider

Provider, specialized for CSV data, which limits a wrapped table content-provider to exposing a specified set of properties; these properties are specified via binding expressions. The specialization involves providing column headers as the first row of data, using the column names specified by BoundPropertiesContentProvider.setKeys(java.util.Map).


Field Summary
protected  int m_index
           
 
Fields inherited from class com.webmethods.caf.faces.data.export.PageableExportProvider
m_first, m_rows, NO_SORT
 
Fields inherited from class com.webmethods.caf.faces.data.object.BoundPropertiesContentProvider
m_keys, m_provider, m_var
 
Constructor Summary
CSVExportProvider()
          Blank provider.
CSVExportProvider(ITableContentProvider provider, Map keys, String var)
          Provider limiting specified provider to specified keys.
 
Method Summary
 Object getCurrentRow()
           Returns wrapped current row object.
 int getRowCount()
          Return the number of rows of data objects represented by this DataModel.
 int getRowIndex()
          Return the zero-relative index of the currently selected row.
 Class getType(Object propertyKey)
          Returns java type of the given property
 Object getValue(Object propertyKey)
          Returns value of the given property
 boolean isReadOnly(Object propertyKey)
          Returns true if the given property is readonly.
 boolean isRowAvailable()
          Return a flag indicating whether there is rowData available at the current rowIndex.
 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.
 void setValue(Object propertyKey, Object value)
          Sets new value of the given property
 
Methods inherited from class com.webmethods.caf.faces.data.export.PageableExportProvider
getFirst, getRows, getSort, setFirst, setRows, setSort
 
Methods inherited from class com.webmethods.caf.faces.data.object.BoundPropertiesTableContentProvider
getRowVariable, getTableProvider, setRowVariable
 
Methods inherited from class com.webmethods.caf.faces.data.object.BoundPropertiesContentProvider
createDefaultKeys, getKeys, getPropertyKeys, getProvider, getVar, hasProperty, setKeys, setProvider, setVar, toString
 
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.ITableContentProvider
getRowVariable, setRowVariable
 
Methods inherited from interface com.webmethods.caf.faces.data.IContentProvider
getPropertyKeys, hasProperty, toString
 

Field Detail

m_index

protected int m_index
Constructor Detail

CSVExportProvider

public CSVExportProvider()
Blank provider. Must be initialized with BoundPropertiesContentProvider.setProvider(com.webmethods.caf.faces.data.IContentProvider), BoundPropertiesContentProvider.setKeys(java.util.Map), and BoundPropertiesContentProvider.setVar(java.lang.String).


CSVExportProvider

public CSVExportProvider(ITableContentProvider provider,
                         Map keys,
                         String var)
Provider limiting specified provider to specified keys.

Method Detail

getType

public Class getType(Object propertyKey)
              throws PropertyNotFoundException
Description copied from interface: IContentProvider
Returns java type of the given property

Specified by:
getType in interface IContentProvider
Overrides:
getType in class BoundPropertiesContentProvider
Parameters:
propertyKey - the property key of type String or Integer
Returns:
property java Class
Throws:
PropertyNotFoundException - if property is not supported

getValue

public Object getValue(Object propertyKey)
                throws EvaluationException,
                       PropertyNotFoundException
Description copied from interface: IContentProvider
Returns value of the given property

Specified by:
getValue in interface IContentProvider
Overrides:
getValue in class BoundPropertiesContentProvider
Parameters:
propertyKey - the property key of type String or Integer
Returns:
value of the property, can be null
Throws:
EvaluationException - if error during property evaluation
PropertyNotFoundException - if property is not supported

isReadOnly

public boolean isReadOnly(Object propertyKey)
                   throws EvaluationException,
                          PropertyNotFoundException
Description copied from interface: IUpdateableContentProvider

Returns true if the given property is readonly. If it is readonly, IUpdateableContentProvider.setValue(Object, Object) will definitely fail.

Specified by:
isReadOnly in interface IUpdateableContentProvider
Overrides:
isReadOnly in class BoundPropertiesContentProvider
Parameters:
propertyKey - property key of type String or Integer
Returns:
true if the property is readonly
Throws:
EvaluationException
PropertyNotFoundException

setValue

public void setValue(Object propertyKey,
                     Object value)
              throws EvaluationException,
                     PropertyNotFoundException
Description copied from interface: IUpdateableContentProvider

Sets new value of the given property

Specified by:
setValue in interface IUpdateableContentProvider
Overrides:
setValue in class BoundPropertiesContentProvider
Parameters:
propertyKey - property key of type String or Integer
value - new property value
Throws:
EvaluationException - if error happens during property assigment
PropertyNotFoundException - if property is not found

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
Overrides:
getCurrentRow in class BoundPropertiesTableContentProvider
Returns:
current row object
See Also:
ITableContentProvider.isRowAvailable()

getRowCount

public int getRowCount()
Description copied from interface: ITableContentProvider
Return the number of rows of data objects represented by this DataModel.

Return -1, if the number of rows is unknown, or no wrappedData is available.

Specified by:
getRowCount in interface ITableContentProvider
Overrides:
getRowCount in class BoundPropertiesTableContentProvider
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
Overrides:
getRowIndex in class PageableExportProvider
See Also:
DataModel

isRowAvailable

public boolean isRowAvailable()
Description copied from interface: ITableContentProvider
Return a flag indicating whether there is rowData available at the current rowIndex. If no wrappedData is available, return false.

Specified by:
isRowAvailable in interface ITableContentProvider
Overrides:
isRowAvailable in class PageableExportProvider
See Also:
DataModel

setRowIndex

public void setRowIndex(int rowIndex)
Description copied from interface: ITableContentProvider
Set the zero-relative index of the currently selected row, or -1 to indicate that we are not positioned on a row.

Specified by:
setRowIndex in interface ITableContentProvider
Overrides:
setRowIndex in class PageableExportProvider
See Also:
DataModel