Interface ViewElementBuilder<T extends ViewElement>

All Known Implementing Classes:
AbstractNodeViewElementBuilder, AbstractVoidNodeViewElementBuilder, ContainerViewElementBuilder, ContainerViewElementBuilderSupport, CssWebResourceBuilder, JavascriptWebResourceBuilder, LinkWebResourceBuilder, MetaWebResourceBuilder, NodeViewElementBuilder, TextViewElementBuilder, ViewElementBuilderSupport, ViewElementGeneratorBuilder, VoidNodeViewElementBuilder, WebResourceReferenceCollection
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ViewElementBuilder<T extends ViewElement>
Base interface to create a single ViewElement instance. Usually used to build an entire hierarchy of elements by calling build(ViewElementBuilderContext) on the top-most element. Building a ViewElement requires a ViewElementBuilderContext and often a single builder context is used to build many elements.

If you call build() without manually specifying a builder context, a global context will be retrieved using ViewElementBuilderContext.retrieveGlobalBuilderContext() and if none is available, a new DefaultViewElementBuilderContext will be used instead.

For performance it is often best to manage the lifecycle of a ViewElementBuilderContext yourself, so you don't have unnecessary creation and can optimize contextual data sharing.

Author:
Arne Vandamme