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 voidaddRowAttributes(TableRowBuilder row)Hook for subclasses to add their own attributes to each row in the table.protected voidaddRowAttributes(TableRowBuilder row, T rowValue)Hook for subclasses to add their own attributes to each row in the table.voidbuildRow(T rowValue, int absRowIndex)Build zero or more table rows for the specified row value.protected abstract voidbuildRowImpl(T rowValue, int absRowIndex)Build zero or more table rows for the specified row value.Cell.ContextcreateContext(int column)Create the context for a column based on the current table building state.TableSectionBuilderfinish()Finish the building and get theTableSectionBuildercontaining 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.intgetRowValueIndex(TableRowElement row)Get the index of the row value from the associatedTableRowElement.intgetSubrowValueIndex(TableRowElement row)Get the index of the subrow value from the associatedTableRowElement.booleanisColumn(Element elem)Return if an element contains a cell.<C> voidrenderCell(ElementBuilderBase<?> builder, Cell.Context context, HasCell<T,C> column, T rowValue)Render the cell into anElementBuilderBase.voidstart(boolean isRebuildingAllRows)Start building rows.TableRowBuilderstartRow()Start a row and return theTableRowBuilderfor this row.TableRowBuilderstartRow(T rowValue)Start a row and return theTableRowBuilderfor 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:
buildRowin 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 theTableSectionBuildercontaining the children.- Specified by:
finishin interfaceCellTableBuilder<T>
-
getColumn
public final HasCell<T,?> getColumn(Cell.Context context, T rowValue, Element elem)
Return the column containing an element.- Specified by:
getColumnin 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:
getColumnsin interfaceCellTableBuilder<T>
-
getRowValueIndex
public final int getRowValueIndex(TableRowElement row)
Get the index of the row value from the associatedTableRowElement.- Specified by:
getRowValueIndexin 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:
getSubrowValueIndexin 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:
isColumnin 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- theElementBuilderBasethat 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:
startin interfaceCellTableBuilder<T>- Parameters:
isRebuildingAllRows- is this start intended for rebuilding all rows
-
startRow
public final TableRowBuilder startRow()
Start a row and return theTableRowBuilderfor this row.
-
startRow
public final TableRowBuilder startRow(T rowValue)
Start a row and return theTableRowBuilderfor 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
-
-