public interface XMLContentBuilder extends ContentBuilder, ExtendedXMLBuilder
ContentBuilder and ExtendedXMLBuilder
for a web context where ContentBuilder is implemented as html.
most of the ContentBuilder methods (those that only rely on the ExtendedXMLBuilder interface)
are implemented as default methods
so different ExtendedXMLBuilder sub-classes can
share a single implementation.| Modifier and Type | Field and Description |
|---|---|
static Feature |
STREAM_BUILDER_FEATURE |
| Modifier and Type | Method and Description |
|---|---|
default void |
addActionButtons(Form f,
java.lang.String legend,
java.util.Set<java.lang.String> actions)
A a set of action buttons to the content
|
default void |
addButton(AppContext conn,
java.lang.String text,
FormResult action)
Add an action button to the Content
|
default void |
addButton(AppContext conn,
java.lang.String text,
java.lang.String hover,
FormResult action)
Add an action button to the Content
|
default <C,R> void |
addColumn(AppContext conn,
Table<C,R> t,
C col)
Add the data from a single column of a
Table formatted in
2 columns (key and data). |
default <I,T> void |
addFormInput(AppContext conn,
Field<I> f,
T item)
Add the input for a form
Field
If the input is a RadioButtonInput then the item parameter
selects which item the input is for. |
default <I,T> void |
addFormLabel(AppContext conn,
Field<I> f,
T item)
Add the label for a form
Field |
default void |
addFormTable(AppContext conn,
java.lang.Iterable<Field> form)
Add a set of
Fields as a table of labels and inputs. |
default void |
addHeading(int level,
java.lang.String text)
Convenience routine to add a heading containing unformatted text.
|
default void |
addImage(AppContext conn,
java.lang.String alt,
java.lang.String hover,
java.lang.Integer width,
java.lang.Integer height,
ServeDataResult image)
Add an image served by a
ServeDataResult |
default void |
addLink(AppContext conn,
java.lang.String text,
FormResult action)
Add an action link to the Content
|
default void |
addLink(AppContext conn,
java.lang.String text,
java.lang.String hover,
FormResult action)
Add an action link to the Content
|
default <X> void |
addList(java.lang.Iterable<X> list)
add a bullet list of objects to the content.
|
default <X> void |
addList(java.util.Map<java.lang.String,java.lang.String> attr,
java.lang.Iterable<X> list)
add a bullet list of objects to the content.
|
default <X> void |
addList(X[] list)
add a bullet list of objects to the content.
|
default <X> void |
addNumberedList(int start,
java.lang.Iterable<X> list)
add a numbered list of objects to the content.
|
default <X> void |
addObject(X target)
Add an object depending on its type.
|
default <C,R> void |
addTable(AppContext conn,
java.text.NumberFormat nf,
Table<C,R> t)
Add a table to the content.
|
default <C,R> void |
addTable(AppContext conn,
Table<C,R> t)
Add a table to the content.
|
default <C,R> void |
addTable(AppContext conn,
Table<C,R> t,
java.text.NumberFormat nf,
java.lang.String style)
Add a table to the content.
|
default <C,R> void |
addTable(AppContext conn,
Table<C,R> t,
java.lang.String style)
Add a table to the content.
|
default void |
addText(java.lang.String text)
Add unformatted text.
|
void |
append(XMLPrinter target) |
default <X> boolean |
canAdd(X target)
Does this ContentBuilder have special handling for the object
beyond adding the string representation.
|
default void |
closeDetails()
finish a section started by
ContentBuilder.getDetails(Object)
this may be a no-op if expended section are not supported |
default ContentBuilder |
getDetails(java.lang.Object summary_text)
get an expanding/folding section if supported
This method can either return a new
ContentBuilder or
the current object. |
HtmlFormPolicy |
getFormPolicy() |
Logger |
getLogger(AppContext conn) |
boolean |
setNewTab(boolean new_tab) |
boolean |
useNewTab() |
addActionButtons, addFormLabel, addParent, cleanFormatted, getHeading, getPanel, getSpan, getSpan, getTextaddClass, br, nbsappendParent, attr, attr, clean, clean, clean, close, getNested, getParent, open, open, setEscapeUnicodestatic final Feature STREAM_BUILDER_FEATURE
default <I,T> void addFormLabel(AppContext conn, Field<I> f, T item)
ContentBuilderFieldaddFormLabel in interface ContentBuilderf - Fielditem - item (only used by RadioInputs)default <I,T> void addFormInput(AppContext conn, Field<I> f, T item)
ContentBuilderField
If the input is a RadioButtonInput then the item parameter
selects which item the input is for. If item is null then
a RadioButtonInput will output all inputs in a block.addFormInput in interface ContentBuilderconn - AppContextf - Fielditem - item (only used by RadioInputs)default <X> void addList(java.lang.Iterable<X> list)
ContentBuilderUIGenerators will generate their content otherwise
a suitable text representation will be used.addList in interface ContentBuilderdefault <X> void addList(java.util.Map<java.lang.String,java.lang.String> attr,
java.lang.Iterable<X> list)
ContentBuilderUIGenerators will generate their content otherwise
a suitable text representation will be used.addList in interface ContentBuilderdefault <X> void addNumberedList(int start,
java.lang.Iterable<X> list)
ContentBuilderUIGenerators will generate their content otherwise
a suitable text representation will be used.addNumberedList in interface ContentBuilderdefault <X> void addObject(X target)
ContentBuilderContentBuilder.addParent()
on child objects.addObject in interface ContentBuilderaddObject in interface SimpleXMLBuildertarget - default <X> boolean canAdd(X target)
ContentBuildercanAdd in interface ContentBuildervoid append(XMLPrinter target)
Logger getLogger(AppContext conn)
boolean useNewTab()
boolean setNewTab(boolean new_tab)
HtmlFormPolicy getFormPolicy()
default <X> void addList(X[] list)
ContentBuilderUIGenerators will generate their content otherwise
a suitable text representation will be used.addList in interface ContentBuilderdefault void addButton(AppContext conn, java.lang.String text, FormResult action)
ContentBuilderaddButton in interface ContentBuilderconn - AppContextdefault void addButton(AppContext conn, java.lang.String text, java.lang.String hover, FormResult action)
ContentBuilderaddButton in interface ContentBuilderconn - AppContexthover - tooltip textdefault void addLink(AppContext conn, java.lang.String text, FormResult action)
ContentBuilderaddLink in interface ContentBuilderconn - AppContexttext - link textaction - FormResult to navigate to.default void addLink(AppContext conn, java.lang.String text, java.lang.String hover, FormResult action)
ContentBuilderaddLink in interface ContentBuilderconn - AppContexttext - link texthover - tooltip textaction - FormResult to navigate to.default void addImage(AppContext conn, java.lang.String alt, java.lang.String hover, java.lang.Integer width, java.lang.Integer height, ServeDataResult image)
ContentBuilderServeDataResultaddImage in interface ContentBuilderwidth - (optional, ignored if <= 0)height - (optional, ignored if <= 0)default <C,R> void addTable(AppContext conn, Table<C,R> t, java.lang.String style)
ContentBuilderUIGenerator should be added via UIGenerator.addContent(ContentBuilder)addTable in interface ContentBuilderdefault <C,R> void addColumn(AppContext conn, Table<C,R> t, C col)
ContentBuilderTable formatted in
2 columns (key and data).addColumn in interface ContentBuilderdefault void addText(java.lang.String text)
ContentBuilderContentBuilder.getText().clean(text).appendParent().addText in interface ContentBuildertext - string to add to contentdefault void addHeading(int level,
java.lang.String text)
ContentBuilderContentBuilder.getHeading(int).addText(text).addHeading in interface ContentBuilderdefault <C,R> void addTable(AppContext conn, Table<C,R> t)
ContentBuilderUIGenerator should be added via UIGenerator.addContent(ContentBuilder)addTable in interface ContentBuilderdefault <C,R> void addTable(AppContext conn, java.text.NumberFormat nf, Table<C,R> t)
ContentBuilderUIGenerator should be added via UIGenerator.addContent(ContentBuilder)addTable in interface ContentBuilderdefault <C,R> void addTable(AppContext conn, Table<C,R> t, java.text.NumberFormat nf, java.lang.String style)
ContentBuilderUIGenerator should be added via UIGenerator.addContent(ContentBuilder)addTable in interface ContentBuilderdefault void addFormTable(AppContext conn, java.lang.Iterable<Field> form)
ContentBuilderFields as a table of labels and inputs.addFormTable in interface ContentBuilderdefault void addActionButtons(Form f, java.lang.String legend, java.util.Set<java.lang.String> actions)
ContentBuilderaddActionButtons in interface ContentBuilderf - Formlegend - optional legend for the button setactions - Set of action namesdefault ContentBuilder getDetails(java.lang.Object summary_text)
ContentBuilderContentBuilder or
the current object. Once content has been added the ContentBuilder.closeDetails()
method should be called on whichever object was returned which will
perform any additional actions necessary.
If expanded/folding sections are not supported this will map to
ContentBuilder.addObject(Object) on the summary text
and the current ContentBuilder will be returned.getDetails in interface ContentBuilderdefault void closeDetails()
ContentBuilderContentBuilder.getDetails(Object)
this may be a no-op if expended section are not supportedcloseDetails in interface ContentBuilder