T
- the row data typepublic abstract class AbstractCellTableBuilder<T> extends java.lang.Object implements CellTableBuilder<T>
Modifier and Type | Field and Description |
---|---|
protected AbstractCellTable<T> |
cellTable |
Constructor and Description |
---|
AbstractCellTableBuilder(AbstractCellTable<T> cellTable)
Construct a new table builder.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addRowAttributes(TableRowBuilder row)
Hook for subclasses to add their own attributes to each row in the table.
|
protected void |
addRowAttributes(TableRowBuilder row,
T rowValue)
Hook for subclasses to add their own attributes to each row in the table.
|
void |
buildRow(T rowValue,
int absRowIndex)
Build zero or more table rows for the specified row value.
|
protected abstract void |
buildRowImpl(T rowValue,
int absRowIndex)
Build zero or more table rows for the specified row value.
|
Cell.Context |
createContext(int column)
Create the context for a column based on the current table building state.
|
TableSectionBuilder |
finish()
Finish the building and get the
TableSectionBuilder containing the children. |
HasCell<T,?> |
getColumn(Cell.Context context,
T rowValue,
Element elem)
Return the column containing an element.
|
java.util.Collection<HasCell<T,?>> |
getColumns()
Return all the columns that this table builder has renderred.
|
int |
getRowValueIndex(TableRowElement row)
Get the index of the row value from the associated
TableRowElement . |
int |
getSubrowValueIndex(TableRowElement row)
Get the index of the subrow value from the associated
TableRowElement . |
boolean |
isColumn(Element elem)
Return if an element contains a cell.
|
<C> void |
renderCell(ElementBuilderBase<?> builder,
Cell.Context context,
HasCell<T,C> column,
T rowValue)
Render the cell into an
ElementBuilderBase . |
void |
start(boolean isRebuildingAllRows)
Start building rows.
|
TableRowBuilder |
startRow()
Start a row and return the
TableRowBuilder for this row. |
TableRowBuilder |
startRow(T rowValue)
Start a row and return the
TableRowBuilder for this row. |
protected final AbstractCellTable<T> cellTable
public AbstractCellTableBuilder(AbstractCellTable<T> cellTable)
cellTable
- the table this builder will build rows forpublic final void buildRow(T rowValue, int absRowIndex)
buildRow
in interface CellTableBuilder<T>
rowValue
- the value for the row to renderabsRowIndex
- the absolute row indexpublic final Cell.Context createContext(int column)
column
- the column idpublic final TableSectionBuilder finish()
TableSectionBuilder
containing the children.finish
in interface CellTableBuilder<T>
public final HasCell<T,?> getColumn(Cell.Context context, T rowValue, Element elem)
getColumn
in interface CellTableBuilder<T>
context
- the context for the elementrowValue
- the value for the row corresponding to the elementelem
- the element that the column containspublic final java.util.Collection<HasCell<T,?>> getColumns()
getColumns
in interface CellTableBuilder<T>
public final int getRowValueIndex(TableRowElement row)
TableRowElement
.getRowValueIndex
in interface CellTableBuilder<T>
row
- the row elementpublic final int getSubrowValueIndex(TableRowElement row)
TableRowElement
. The sub row value starts at 0 for the first row
that represents a row value.getSubrowValueIndex
in interface CellTableBuilder<T>
row
- the row elementpublic final boolean isColumn(Element elem)
getColumn(Element)
.isColumn
in interface CellTableBuilder<T>
elem
- the element of interestpublic final <C> void renderCell(ElementBuilderBase<?> builder, Cell.Context context, HasCell<T,C> column, T rowValue)
ElementBuilderBase
.builder
- the ElementBuilderBase
that cell contents append tocontext
- the context for the elementcolumn
- the column containing the cellrowValue
- the value for the row corresponding to the elementpublic final void start(boolean isRebuildingAllRows)
start
in interface CellTableBuilder<T>
isRebuildingAllRows
- is this start intended for rebuilding all rowspublic final TableRowBuilder startRow()
TableRowBuilder
for this row.public final TableRowBuilder startRow(T rowValue)
TableRowBuilder
for this row. The row can be initialized
according to its corresponding value.rowValue
- the value for the row corresponding to the element. Can be null.protected void addRowAttributes(TableRowBuilder row)
row
- the row elementaddRowAttributes(TableRowBuilder, Object)
protected void addRowAttributes(TableRowBuilder row, T rowValue)
row
- the row elementrowValue
- the value for the row corresponding to the element. Can be null.protected abstract void buildRowImpl(T rowValue, int absRowIndex)
rowValue
- the value for the row to renderabsRowIndex
- the absolute row index