public class DataTableExportProvider extends Object implements ITableContentProvider
UIData
component to an ITableContentProvider
,
which can be used to export the table's content
(for example, as the content provider for a CSVExportBean
).Modifier and Type | Field and Description |
---|---|
protected Map<String,String> |
m_columnLabelMap
Map of property keys to column labels.
|
protected Map<String,UIColumn> |
m_columnMap
Map of property keys to columns.
|
protected ResponseWriter |
m_htmlResponseBuffer
Temporary buffer into which the html of each column is rendered.
|
protected StringWriter |
m_htmlResponseBufferBackingWriter
Backing buffer for the
m_htmlResponseBuffer . |
protected Object[] |
m_propertyKeys
Property keys cache.
|
protected ResponseWriter |
m_responseBuffer
Temporary buffer into which the content of each column is rendered.
|
protected UIData |
m_table
Table providing export content.
|
protected static Pattern |
RE_IS_DUMMY_ID |
protected static Pattern |
RE_STRIP_COLUMN_FROM_ID |
Constructor and Description |
---|
DataTableExportProvider() |
DataTableExportProvider(UIData table) |
Modifier and Type | Method and Description |
---|---|
protected String |
clearHTMLResponseBuffer()
Clears the temporary response buffer, returning its content (or "").
|
protected String |
clearResponseBuffer()
Clears the temporary response buffer, returning its content (or "").
|
protected Map<String,String> |
getColumnLabelMap() |
protected Map<String,UIColumn> |
getColumnMap() |
Object |
getCurrentRow()
Returns wrapped current row object.
|
protected ResponseWriter |
getHTMLResponseBuffer()
Temporary response buffer.
|
Object[] |
getPropertyKeys()
Returns list of properties supported by this content provider.
|
protected ResponseWriter |
getResponseBuffer()
Temporary response buffer.
|
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.
|
String |
getRowVariable()
Returns row variable name.
|
UIData |
getTable() |
Class<?> |
getType(Object propertyKey)
Returns java type of the given property
|
Object |
getValue(Object propertyKey)
Returns value of the given property
|
boolean |
hasProperty(Object propertyKey)
Checks if the given property is supported by this content provider
|
boolean |
isRowAvailable()
Return a flag indicating whether there is rowData available at the
current rowIndex.
|
void |
refresh() |
protected String |
render(UIComponent component)
Renders specified component, returning its content (or "").
|
protected String |
renderAsHTML(UIComponent component)
Renders specified component, returning its content (or "").
|
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 |
setRowVariable(String var)
Sets row variable name to use for accessing row specific data.
|
void |
setTable(UIData table) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toString
protected static final Pattern RE_IS_DUMMY_ID
protected static final Pattern RE_STRIP_COLUMN_FROM_ID
protected UIData m_table
protected Object[] m_propertyKeys
protected Map<String,String> m_columnLabelMap
protected ResponseWriter m_responseBuffer
protected ResponseWriter m_htmlResponseBuffer
protected StringWriter m_htmlResponseBufferBackingWriter
m_htmlResponseBuffer
.public DataTableExportProvider()
public DataTableExportProvider(UIData table)
public Object[] getPropertyKeys()
IContentProvider
Object[0]
,
never null.getPropertyKeys
in interface IContentProvider
String
or Integer
public Class<?> getType(Object propertyKey) throws PropertyNotFoundException
IContentProvider
getType
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
Class
PropertyNotFoundException
- if property is not supportedpublic Object getValue(Object propertyKey) throws ELException, PropertyNotFoundException
IContentProvider
getValue
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
null
PropertyNotFoundException
- if property is not supportedELException
public boolean hasProperty(Object propertyKey)
IContentProvider
hasProperty
in interface IContentProvider
propertyKey
- property key of type String
or Integer
true
if property is supportedpublic void refresh() throws ContentProviderException
ContentProviderException
public Object getCurrentRow()
ITableContentProvider
Returns wrapped current row object. Can be null
if not data
is available
getCurrentRow
in interface ITableContentProvider
ITableContentProvider.isRowAvailable()
public int getRowCount()
ITableContentProvider
Return -1, if the number of rows is unknown, or no wrappedData is available.
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 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 boolean isRowAvailable()
ITableContentProvider
isRowAvailable
in interface ITableContentProvider
DataModel.isRowAvailable()
public void setRowIndex(int rowIndex)
ITableContentProvider
setRowIndex
in interface ITableContentProvider
DataModel.getRowIndex()
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
protected String render(UIComponent component)
protected ResponseWriter getResponseBuffer()
protected String clearResponseBuffer()
protected String renderAsHTML(UIComponent component)
protected ResponseWriter getHTMLResponseBuffer()
protected String clearHTMLResponseBuffer()
public UIData getTable()
public void setTable(UIData table)