Package com.vaadin.flow.component
Class HtmlContainer
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.HtmlComponent
com.vaadin.flow.component.HtmlContainer
- All Implemented Interfaces:
AttachNotifier,DetachNotifier,HasComponents,HasComponentsOfType<Component>,HasElement,HasEnabled,HasSize,HasStyle,HasText,Serializable
Base class for a
Component that represents a single built-in HTML
element that can contain child components or text.
This base class is meant for elements whose HTML content model accepts any
kind of content, such as <div>, <span>
or <section>. It implements HasComponents, so any
Component can be added as a child and the API cannot prevent a child
that the element isn't allowed to contain.
Elements with a restricted content model are a poor fit. Such a component
should instead extend HtmlComponent and expose only an API that
matches what the element actually accepts. The shape of that API depends on
the element:
- When each part of the content is different, a dedicated API for each part
is the clearest option. A
<table>, for example, accepts an optional<caption>, then<colgroup>,<thead>,<tbody>and<tfoot>elements in a specific order, so a table component is better served by separate methods for the caption, the header, the bodies and the footer than by a generic add-a-child method. - When all children are of the same type, such as the
<li>children of a<ul>,HasComponentsOfTypegives the same add and remove methods asHasComponentswhile rejecting unrelated components already at compile time.
- Since:
- 1.0
- Author:
- Vaadin Ltd
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasText
HasText.WhiteSpace -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates an empty component with the element determined by theTagannotation of a sub class.protectedHtmlContainer(Component... components) Creates a component with the given child components.HtmlContainer(String tagName) Creates a new empty component with a new element with the given tag name.HtmlContainer(String tagName, Component... components) Creates a new component with the given contents and a new element with the given tag name. -
Method Summary
Methods inherited from class com.vaadin.flow.component.HtmlComponent
getTitle, setTitleMethods inherited from class com.vaadin.flow.component.Component
addListener, bindVisible, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTestId, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onAttach, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setTestId, setVisible, whenAttachedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasComponents
addMethods inherited from interface com.vaadin.flow.component.HasComponentsOfType
add, add, addComponentAsFirst, addComponentAtIndex, bindChildren, getChildren, getComponentAt, getComponentCount, indexOf, remove, remove, removeAll, replaceMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
bindEnabled, isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasSize
bindHeight, bindWidth, getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, bindClassName, bindClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasText
bindText, getText, getWhiteSpace, setText, setWhiteSpace
-
Constructor Details
-
HtmlContainer
protected HtmlContainer()Creates an empty component with the element determined by theTagannotation of a sub class. -
HtmlContainer
Creates a component with the given child components. The element is determined by theTagannotation of a sub class.- Parameters:
components- the child components
-
HtmlContainer
Creates a new empty component with a new element with the given tag name.- Parameters:
tagName- the tag name of the element to use for this component, notnull
-
HtmlContainer
Creates a new component with the given contents and a new element with the given tag name.- Parameters:
tagName- the tag name of the element to use for this component, notnullcomponents- the child components
-