public class TableBuilder<D> extends Object
TableBuilder.of("Hotel Report", service.findHotels(ROW_LIMIT, NAME.of(input), CITY.of(input)))
.add(Hotel::getName, "Hotel", NAME)
.add(Hotel::getCity, "City", CITY)
.add(Hotel::getStreet, "Street")
.build(httpServletRequest, HtpServletResponse);
| Modifier and Type | Class and Description |
|---|---|
static class |
TableBuilder.Url
URL constants
|
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
ajaxEnabled
is An AJAX enabled?
|
protected HttpParameter |
ajaxRequestParam
AJAX request param
|
protected boolean |
autoSubmmitOnLoad
Call an autosubmit on first load
|
protected List<org.ujorm.tools.web.table.TableBuilder.ColumnModel<D,?>> |
columns
Columns
|
protected TableBuilderConfig |
config
Table builder config
|
protected Injector |
footer
Print an empty text by default
|
protected Injector |
formAdditions
Form injector
|
protected Injector |
header
Print a config title by default
|
protected Injector |
inlineCss
Inline CSS style injector
|
protected Supplier<Injector> |
javascritWriter
Javascript writer
|
protected Stream<D> |
resource
Data resource
|
| Modifier and Type | Method and Description |
|---|---|
<V> TableBuilder<D> |
add(Function<D,?> column) |
<V> TableBuilder<D> |
add(Function<D,?> column,
CharSequence title) |
<V> TableBuilder<D> |
add(Function<D,?> column,
CharSequence title,
HttpParameter param) |
<V> TableBuilder<D> |
add(Function<D,?> column,
Injector title) |
<V> TableBuilder<D> |
add(Function<D,?> column,
Injector title,
HttpParameter param) |
protected <V> TableBuilder<D> |
addInternal(Function<D,?> column,
CharSequence title,
HttpParameter param) |
<V> TableBuilder<D> |
addToElement(Column<D> column,
CharSequence title) |
<V> TableBuilder<D> |
addToElement(Column<D> column,
Injector title) |
void |
build(javax.servlet.http.HttpServletRequest input,
javax.servlet.http.HttpServletResponse output)
Build the HTML page including a table
|
protected void |
doAjax(javax.servlet.http.HttpServletRequest input,
JsonBuilder output)
Return lighlited text in HTML format according a regular expression
|
protected Injector |
inlineCssWriter()
Default header CSS style printer
|
static <D> TableBuilder<D> |
of(Stream<D> resource) |
static <D> TableBuilder<D> |
of(Stream<D> resource,
HtmlConfig config) |
static <D> TableBuilder<D> |
of(Stream<D> resource,
TableBuilderConfig config) |
static <D> TableBuilder<D> |
of(String title,
Stream<D> resource) |
protected void |
printHtmlBody(javax.servlet.http.HttpServletRequest input,
HtmlElement html) |
protected void |
printTableBody(Element table,
javax.servlet.http.HttpServletRequest input) |
TableBuilder<D> |
setAjaxEnabled(boolean ajaxEnabled)
Enable of disable an AJAX feature, default value si
true |
TableBuilder<D> |
setAjaxRequestParam(HttpParameter ajaxRequestParam) |
TableBuilder<D> |
setFooter(Injector footer) |
TableBuilder<D> |
setFormAdditions(Injector formAdditions) |
TableBuilder<D> |
setHeader(Injector header) |
TableBuilder<D> |
setJavascritWriter(Supplier<Injector> javascritWriter) |
protected final List<org.ujorm.tools.web.table.TableBuilder.ColumnModel<D,?>> columns
protected final TableBuilderConfig config
protected HttpParameter ajaxRequestParam
protected boolean ajaxEnabled
protected boolean autoSubmmitOnLoad
@Nonnull public static <D> TableBuilder<D> of(@Nonnull Stream<D> resource)
@Nonnull public static <D> TableBuilder<D> of(@Nonnull String title, @Nonnull Stream<D> resource)
@Nonnull public static <D> TableBuilder<D> of(@Nonnull Stream<D> resource, @Nonnull HtmlConfig config)
@Nonnull public static <D> TableBuilder<D> of(@Nonnull Stream<D> resource, @Nonnull TableBuilderConfig config)
@Nonnull public <V> TableBuilder<D> add(Function<D,?> column)
@Nonnull public <V> TableBuilder<D> add(Function<D,?> column, CharSequence title)
@Nonnull public <V> TableBuilder<D> add(Function<D,?> column, CharSequence title, @Nullable HttpParameter param)
@Nonnull public <V> TableBuilder<D> add(Function<D,?> column, Injector title, @Nullable HttpParameter param)
@Nonnull public <V> TableBuilder<D> addToElement(Column<D> column, CharSequence title)
@Nonnull protected <V> TableBuilder<D> addInternal(@Nonnull Function<D,?> column, @Nonnull CharSequence title, @Nullable HttpParameter param)
@Nonnull public TableBuilder<D> setAjaxRequestParam(@Nonnull HttpParameter ajaxRequestParam)
@Nonnull public TableBuilder<D> setHeader(@Nonnull Injector header)
@Nonnull public TableBuilder<D> setFooter(@Nonnull Injector footer)
@Nonnull public TableBuilder<D> setFormAdditions(@Nonnull Injector formAdditions)
public TableBuilder<D> setAjaxEnabled(boolean ajaxEnabled)
truepublic TableBuilder<D> setJavascritWriter(@Nonnull Supplier<Injector> javascritWriter)
public void build(javax.servlet.http.HttpServletRequest input,
javax.servlet.http.HttpServletResponse output)
protected void printHtmlBody(javax.servlet.http.HttpServletRequest input,
HtmlElement html)
protected void printTableBody(Element table, javax.servlet.http.HttpServletRequest input)
protected void doAjax(javax.servlet.http.HttpServletRequest input,
JsonBuilder output)
throws javax.servlet.ServletException,
IOException
input - servlet requestoutput - A JSON writerjavax.servlet.ServletException - if a servlet-specific error occursIOException - if an I/O error occursCopyright 2015, Pavel Ponec