Class AbstractCellTableBuilder<T>
- java.lang.Object
-
- com.google.gwt.user.cellview.client.AbstractCellTableBuilder<T>
-
- Type Parameters:
T
- the row data type
- All Implemented Interfaces:
CellTableBuilder<T>
- Direct Known Subclasses:
DefaultCellTableBuilder
public abstract class AbstractCellTableBuilder<T> extends java.lang.Object implements CellTableBuilder<T>
Builder used to construct a CellTable.
-
-
Field Summary
Fields Modifier and Type Field Description protected AbstractCellTable<T>
cellTable
-
Constructor Summary
Constructors Constructor Description AbstractCellTableBuilder(AbstractCellTable<T> cellTable)
Construct a new table builder.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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 theTableSectionBuilder
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 associatedTableRowElement
.int
getSubrowValueIndex(TableRowElement row)
Get the index of the subrow value from the associatedTableRowElement
.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 anElementBuilderBase
.void
start(boolean isRebuildingAllRows)
Start building rows.TableRowBuilder
startRow()
Start a row and return theTableRowBuilder
for this row.TableRowBuilder
startRow(T rowValue)
Start a row and return theTableRowBuilder
for this row.
-
-
-
Field Detail
-
cellTable
protected final AbstractCellTable<T> cellTable
-
-
Constructor Detail
-
AbstractCellTableBuilder
public AbstractCellTableBuilder(AbstractCellTable<T> cellTable)
Construct a new table builder.- Parameters:
cellTable
- the table this builder will build rows for
-
-
Method Detail
-
buildRow
public final void buildRow(T rowValue, int absRowIndex)
Build zero or more table rows for the specified row value.- Specified by:
buildRow
in interfaceCellTableBuilder<T>
- Parameters:
rowValue
- the value for the row to renderabsRowIndex
- the absolute row index
-
createContext
public final Cell.Context createContext(int column)
Create the context for a column based on the current table building state.- Parameters:
column
- the column id- Returns:
- the context that contains the column index, row/subrow indexes, and the row value key
-
finish
public final TableSectionBuilder finish()
Finish the building and get theTableSectionBuilder
containing the children.- Specified by:
finish
in interfaceCellTableBuilder<T>
-
getColumn
public final HasCell<T,?> getColumn(Cell.Context context, T rowValue, Element elem)
Return the column containing an element.- Specified by:
getColumn
in interfaceCellTableBuilder<T>
- Parameters:
context
- the context for the elementrowValue
- the value for the row corresponding to the elementelem
- the element that the column contains- Returns:
- the immediate column containing the element
-
getColumns
public final java.util.Collection<HasCell<T,?>> getColumns()
Return all the columns that this table builder has renderred.- Specified by:
getColumns
in interfaceCellTableBuilder<T>
-
getRowValueIndex
public final int getRowValueIndex(TableRowElement row)
Get the index of the row value from the associatedTableRowElement
.- Specified by:
getRowValueIndex
in interfaceCellTableBuilder<T>
- Parameters:
row
- the row element- Returns:
- the row value index
-
getSubrowValueIndex
public final int getSubrowValueIndex(TableRowElement row)
Get the index of the subrow value from the associatedTableRowElement
. The sub row value starts at 0 for the first row that represents a row value.- Specified by:
getSubrowValueIndex
in interfaceCellTableBuilder<T>
- Parameters:
row
- the row element- Returns:
- the subrow value index, or 0 if not found
-
isColumn
public final boolean isColumn(Element elem)
Return if an element contains a cell. This may be faster to execute thangetColumn(Element)
.- Specified by:
isColumn
in interfaceCellTableBuilder<T>
- Parameters:
elem
- the element of interest
-
renderCell
public final <C> void renderCell(ElementBuilderBase<?> builder, Cell.Context context, HasCell<T,C> column, T rowValue)
Render the cell into anElementBuilderBase
.- Parameters:
builder
- theElementBuilderBase
that cell contents append tocontext
- the context for the elementcolumn
- the column containing the cellrowValue
- the value for the row corresponding to the element
-
start
public final void start(boolean isRebuildingAllRows)
Start building rows. Reset the internal table section builder. If the table builder is going to re-build all rows, the internal the maps associating the cells and ids will be cleared.- Specified by:
start
in interfaceCellTableBuilder<T>
- Parameters:
isRebuildingAllRows
- is this start intended for rebuilding all rows
-
startRow
public final TableRowBuilder startRow()
Start a row and return theTableRowBuilder
for this row.
-
startRow
public final TableRowBuilder startRow(T rowValue)
Start a row and return theTableRowBuilder
for this row. The row can be initialized according to its corresponding value.- Parameters:
rowValue
- the value for the row corresponding to the element. Can be null.
-
addRowAttributes
protected void addRowAttributes(TableRowBuilder row)
Hook for subclasses to add their own attributes to each row in the table. The default does nothing.- Parameters:
row
- the row element- See Also:
addRowAttributes(TableRowBuilder, Object)
-
addRowAttributes
protected void addRowAttributes(TableRowBuilder row, T rowValue)
Hook for subclasses to add their own attributes to each row in the table. The default does nothing.- Parameters:
row
- the row elementrowValue
- the value for the row corresponding to the element. Can be null.
-
buildRowImpl
protected abstract void buildRowImpl(T rowValue, int absRowIndex)
Build zero or more table rows for the specified row value.- Parameters:
rowValue
- the value for the row to renderabsRowIndex
- the absolute row index
-
-