public abstract class ElementBuilderFactory extends Object
Use get()
to fetch the builder factory
optimized for the browser platform.
If you are using the builder on a server, use
HtmlBuilderFactory.get()
instead. HtmlBuilderFactory
can
construct a SafeHtml
string and will
work on the server. Other implementations may only work on a browser client.
Element builder methods can be chained together as with a traditional builder:
DivBuilder divBuilder = ElementBuilderFactory.get().createDivBuilder(); divBuilder.id("myId").text("Hello World!").endDiv();
See this example: .
Alternatively, builders can be used as separate objects and operated on individually. This may be the preferred method if you are creating a complex or dynamic element. The code below produces the same output as the code above.
DivBuilder divBuilder = ElementBuilderFactory.get().createDivBuilder(); divBuilder.id("myId"); divBuilder.text("Hello World!"); divBuilder.endDiv();
See an example: .
You can also mix chaining and non-chaining methods when appropriate. For example, you can add attributes to an element by chaining methods, but use a separate builder object for each separate element.
NOTE: Builders always operate on the current element. For example, in the
code below, we create two divBuilders, one a child of the other. However,
they are actually the same builder instance! Implementations of
ElementBuilderFactory use a single instance of each builder type to improve
performance. The implication is that all element builders operate on the
current element, so the call to divBuilder0.id("div1")
will set
the "id" of the child div, and is functionally equivalent to
divBuilder1.id("div1")
. Its important to always call end()
before resuming work on the previous element builder.
DivBuilder divBuilder0 = ElementBuilderFactory.get().createDivBuilder(); DivBuilder divBuilder1 = divBuilder0.startDiv(); divBuilder0.id("div1"); // Operates on the first element!
Modifier | Constructor and Description |
---|---|
protected |
ElementBuilderFactory()
Created from static factory method.
|
protected ElementBuilderFactory()
public static ElementBuilderFactory get()
ElementBuilderFactory
.ElementBuilderFactory
public abstract AnchorBuilder createAnchorBuilder()
public abstract AreaBuilder createAreaBuilder()
public abstract AudioBuilder createAudioBuilder()
public abstract BaseBuilder createBaseBuilder()
public abstract QuoteBuilder createBlockQuoteBuilder()
public abstract BodyBuilder createBodyBuilder()
public abstract BRBuilder createBRBuilder()
public abstract InputBuilder createButtonInputBuilder()
public abstract CanvasBuilder createCanvasBuilder()
public abstract InputBuilder createCheckboxInputBuilder()
public abstract TableColBuilder createColBuilder()
public abstract TableColBuilder createColGroupBuilder()
public abstract DivBuilder createDivBuilder()
public abstract DListBuilder createDListBuilder()
public abstract FieldSetBuilder createFieldSetBuilder()
public abstract InputBuilder createFileInputBuilder()
public abstract FormBuilder createFormBuilder()
public abstract FrameBuilder createFrameBuilder()
public abstract FrameSetBuilder createFrameSetBuilder()
public abstract HeadingBuilder createH1Builder()
public abstract HeadingBuilder createH2Builder()
public abstract HeadingBuilder createH3Builder()
public abstract HeadingBuilder createH4Builder()
public abstract HeadingBuilder createH5Builder()
public abstract HeadingBuilder createH6Builder()
public abstract HeadBuilder createHeadBuilder()
public abstract InputBuilder createHiddenInputBuilder()
public abstract HRBuilder createHRBuilder()
public abstract IFrameBuilder createIFrameBuilder()
public abstract ImageBuilder createImageBuilder()
public abstract InputBuilder createImageInputBuilder()
public abstract LabelBuilder createLabelBuilder()
public abstract LegendBuilder createLegendBuilder()
public abstract LIBuilder createLIBuilder()
public abstract LinkBuilder createLinkBuilder()
public abstract MapBuilder createMapBuilder()
public abstract MetaBuilder createMetaBuilder()
public abstract OListBuilder createOListBuilder()
public abstract OptGroupBuilder createOptGroupBuilder()
public abstract OptionBuilder createOptionBuilder()
public abstract ParagraphBuilder createParagraphBuilder()
public abstract ParamBuilder createParamBuilder()
public abstract InputBuilder createPasswordInputBuilder()
public abstract PreBuilder createPreBuilder()
public abstract ButtonBuilder createPushButtonBuilder()
public abstract QuoteBuilder createQuoteBuilder()
public abstract InputBuilder createRadioInputBuilder(String name)
name
- name the name of the radio input (used for grouping)public abstract ButtonBuilder createResetButtonBuilder()
public abstract InputBuilder createResetInputBuilder()
public abstract ScriptBuilder createScriptBuilder()
public abstract SelectBuilder createSelectBuilder()
public abstract SourceBuilder createSourceBuilder()
public abstract SpanBuilder createSpanBuilder()
public abstract StyleBuilder createStyleBuilder()
public abstract ButtonBuilder createSubmitButtonBuilder()
public abstract InputBuilder createSubmitInputBuilder()
public abstract TableBuilder createTableBuilder()
public abstract TableCaptionBuilder createTableCaptionBuilder()
public abstract TableSectionBuilder createTBodyBuilder()
public abstract TableCellBuilder createTDBuilder()
public abstract TextAreaBuilder createTextAreaBuilder()
public abstract InputBuilder createTextInputBuilder()
public abstract TableSectionBuilder createTFootBuilder()
public abstract TableCellBuilder createTHBuilder()
public abstract TableSectionBuilder createTHeadBuilder()
public abstract TableRowBuilder createTRBuilder()
public abstract UListBuilder createUListBuilder()
public abstract VideoBuilder createVideoBuilder()
public abstract ElementBuilder trustedCreate(String tagName)
ElementBuilder
for an arbitrary tag name. The tag name
will will not be checked or escaped. The calling code should be carefully
reviewed to ensure that the provided tag name will not cause a security
issue if including in an HTML document. In general, this means limiting the
code to HTML tagName constants supported by the HTML specification.tagName
- the tag name of the new elementElementBuilder
used to build the elementCopyright © 2018. All rights reserved.