public class GridBuilder<D> extends Object
| Modifier and Type | Field and Description |
|---|---|
protected List<ColumnModel<D,?>> |
columns
Columns
|
protected GridBuilderConfig |
config
Table builder config
|
| Constructor and Description |
|---|
GridBuilder(@NotNull GridBuilderConfig config) |
GridBuilder(@NotNull HtmlConfig config) |
GridBuilder(@NotNull CharSequence title) |
| Modifier and Type | Method and Description |
|---|---|
<V> @NotNull GridBuilder<D> |
add(Function<D,V> column) |
<V> @NotNull GridBuilder<D> |
add(Function<D,V> column,
CharSequence title) |
<V> @NotNull GridBuilder<D> |
add(Function<D,V> column,
CharSequence title,
@Nullable HttpParameter param) |
<V> @NotNull GridBuilder<D> |
add(Function<D,V> column,
Injector title) |
<V> @NotNull GridBuilder<D> |
add(Function<D,V> column,
Injector title,
@Nullable HttpParameter param) |
@NotNull GridBuilder<D> |
addColumn(@NotNull Column<D> column,
@NotNull CharSequence title) |
@NotNull GridBuilder<D> |
addColumn(@NotNull Column<D> column,
@NotNull Injector title) |
protected <V> @NotNull GridBuilder<D> |
addInternal(@NotNull Function<D,V> column,
@NotNull CharSequence title,
@Nullable HttpParameter param) |
@NotNull GridBuilder<D> |
addOrder(@NotNull CharSequence title)
Add new column for a row counting
|
void |
build(@NotNull ApiElement parent,
@NotNull ColumnModel sortedColumn,
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
Build the HTML page including a table
|
void |
build(@NotNull ApiElement parent,
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
Build the HTML page including a table
|
ColumnModel<D,?> |
getColumn(int index)
Get column model by index
|
Stream<ColumnModel<D,?>> |
getColumns()
Returns all table columns in a stream
|
int |
getColumnSize()
Returns a count of columns
|
@NotNull ColumnModel<D,?> |
getSortedColumn()
Get sorted column or a stub of the sorted column was not found
|
boolean |
isSortable()
Returns the true in case the table is sortable.
|
boolean |
isSortableCalculated()
Calculate if the table has an sortable column
|
protected void |
printTable(@NotNull Element parent,
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
Print table
|
protected void |
setSort(@NotNull ColumnModel sort)
Mark a column as sorted
|
<V> @NotNull GridBuilder<D> |
sortable()
Add a sortable indicator to the last column model
|
<V> @NotNull GridBuilder<D> |
sortable(@Nullable boolean ascending)
Add a sortable indicator to the last column model
|
<V> @NotNull GridBuilder<D> |
sortable(@NotNull Direction direction)
Add a sortable indicator to the last column model
|
protected final List<ColumnModel<D,?>> columns
protected final GridBuilderConfig config
public GridBuilder(@NotNull
@NotNull CharSequence title)
public GridBuilder(@NotNull
@NotNull HtmlConfig config)
public GridBuilder(@NotNull
@NotNull GridBuilderConfig config)
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D,V> column)
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D,V> column, CharSequence title)
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D,V> column, Injector title)
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D,V> column, CharSequence title, @Nullable @Nullable HttpParameter param)
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D,V> column, Injector title, @Nullable @Nullable HttpParameter param)
@NotNull public @NotNull GridBuilder<D> addColumn(@NotNull @NotNull Column<D> column, @NotNull @NotNull CharSequence title)
@NotNull public @NotNull GridBuilder<D> addColumn(@NotNull @NotNull Column<D> column, @NotNull @NotNull Injector title)
@NotNull public @NotNull GridBuilder<D> addOrder(@NotNull @NotNull CharSequence title)
@NotNull protected <V> @NotNull GridBuilder<D> addInternal(@NotNull @NotNull Function<D,V> column, @NotNull @NotNull CharSequence title, @Nullable @Nullable HttpParameter param)
public ColumnModel<D,?> getColumn(int index)
public int getColumnSize()
@NotNull public <V> @NotNull GridBuilder<D> sortable()
@NotNull public <V> @NotNull GridBuilder<D> sortable(@Nullable @Nullable boolean ascending)
ascending - Ascending or descending direction of the sort@NotNull public <V> @NotNull GridBuilder<D> sortable(@NotNull @NotNull Direction direction)
direction - The null value shows an unused sorting action.@NotNull public @NotNull ColumnModel<D,?> getSortedColumn()
public void build(@NotNull
@NotNull ApiElement parent,
@NotNull
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
public void build(@NotNull
@NotNull ApiElement parent,
@NotNull
@NotNull ColumnModel sortedColumn,
@NotNull
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
protected void setSort(@NotNull
@NotNull ColumnModel sort)
protected void printTable(@NotNull
@NotNull Element parent,
@NotNull
@NotNull Function<GridBuilder<D>,Stream<D>> resource)
parent - If a name of the element is a "table" or an empty text
then do not create new table element.resource - Data sourcepublic final boolean isSortable()
public boolean isSortableCalculated()
public Stream<ColumnModel<D,?>> getColumns()
Copyright 2015, Pavel Ponec