Class AbstractNodeViewElement
java.lang.Object
com.foreach.across.modules.web.ui.elements.ContainerViewElement
com.foreach.across.modules.web.ui.elements.AbstractNodeViewElement
- All Implemented Interfaces:
HtmlViewElement
,MutableViewElement
,ViewElement
- Direct Known Subclasses:
AbstractTextNodeViewElement
,NodeViewElement
public abstract class AbstractNodeViewElement
extends ContainerViewElement
implements HtmlViewElement
Base class for a
HtmlViewElement
that supports child nodes.- Author:
- Arne Vandamme
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.foreach.across.modules.web.ui.elements.HtmlViewElement
HtmlViewElement.Functions
Nested classes/interfaces inherited from interface com.foreach.across.modules.web.ui.MutableViewElement
MutableViewElement.Functions
Nested classes/interfaces inherited from interface com.foreach.across.modules.web.ui.ViewElement
ViewElement.Wither<T extends ViewElement>, ViewElement.WitherGetter<T extends ViewElement,
U>, ViewElement.WitherRemover<T extends ViewElement>, ViewElement.WitherSetter<T extends ViewElement> -
Field Summary
Fields inherited from class com.foreach.across.modules.web.ui.elements.ContainerViewElement
ELEMENT_TYPE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddAttributes
(Map<String, Object> attributes) addChild
(@NonNull ViewElement element) Add a child to this container.addChildren
(@NonNull Collection<? extends ViewElement> elements) Add a collection of children to this container.addCssClass
(String... cssClass) addFirstChild
(@NonNull ViewElement element) Adds a child as the first one to this container.apply
(@NonNull Consumer<ContainerViewElement> consumer) Apply a consumer to this container.<U extends ViewElement>
AbstractNodeViewElementapplyUnsafe
(@NonNull Consumer<U> consumer) Apply a consumer to this container.Remove all children from this container.<U> U
get
(ViewElement.WitherGetter<?, U> function) Get a value from the element.getAttribute
(String attributeName) <V,
U extends V>
UgetAttribute
(String attributeName, Class<V> expectedType) @NonNull String
boolean
hasAttribute
(String attributeName) boolean
hasCssClass
(String cssClass) remove
(ViewElement.WitherRemover... functions) Execute one or more remover functions.removeAttribute
(String attributeName) removeCssClass
(String... cssClass) protected <V,
U extends V>
UreturnIfType
(Object value, Class<V> elementType) set
(ViewElement.WitherSetter... setters) Execute one or more setter functions.setAttribute
(String attributeName, Object attributeValue) setAttributes
(@NonNull Map<String, Object> attributes) setCustomTemplate
(String customTemplate) protected AbstractNodeViewElement
setElementType
(String elementType) protected AbstractNodeViewElement
setTagName
(@NonNull String tagName) Methods inherited from class com.foreach.across.modules.web.ui.elements.ContainerViewElement
elementStream, find, find, findAll, findAll, findAll, findOrSelf, findOrSelf, flatStream, getChildren, getCustomTemplate, getElementType, getName, hasChildren, removeAllFromTree, removeChild, removeFromTree, removeFromTree
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.foreach.across.modules.web.ui.ViewElement
getCustomTemplate, getElementType, getName, matches
-
Constructor Details
-
AbstractNodeViewElement
-
-
Method Details
-
addCssClass
- Specified by:
addCssClass
in interfaceHtmlViewElement
-
hasCssClass
- Specified by:
hasCssClass
in interfaceHtmlViewElement
-
removeCssClass
- Specified by:
removeCssClass
in interfaceHtmlViewElement
-
getAttributes
- Specified by:
getAttributes
in interfaceHtmlViewElement
-
setAttributes
- Specified by:
setAttributes
in interfaceHtmlViewElement
-
setAttribute
- Specified by:
setAttribute
in interfaceHtmlViewElement
-
addAttributes
- Specified by:
addAttributes
in interfaceHtmlViewElement
-
removeAttribute
- Specified by:
removeAttribute
in interfaceHtmlViewElement
-
getAttribute
- Specified by:
getAttribute
in interfaceHtmlViewElement
-
getAttribute
- Specified by:
getAttribute
in interfaceHtmlViewElement
-
hasAttribute
- Specified by:
hasAttribute
in interfaceHtmlViewElement
-
setName
- Specified by:
setName
in interfaceMutableViewElement
- Overrides:
setName
in classContainerViewElement
- Returns:
this
.
-
setCustomTemplate
- Specified by:
setCustomTemplate
in interfaceMutableViewElement
- Overrides:
setCustomTemplate
in classContainerViewElement
- Returns:
this
.
-
setElementType
- Overrides:
setElementType
in classContainerViewElement
- Returns:
this
.
-
addChild
Description copied from class:ContainerViewElement
Add a child to this container.- Overrides:
addChild
in classContainerViewElement
- Parameters:
element
- to add
-
addChildren
public AbstractNodeViewElement addChildren(@NonNull @NonNull Collection<? extends ViewElement> elements) Description copied from class:ContainerViewElement
Add a collection of children to this container.- Overrides:
addChildren
in classContainerViewElement
- Parameters:
elements
- to add
-
addFirstChild
Description copied from class:ContainerViewElement
Adds a child as the first one to this container.- Overrides:
addFirstChild
in classContainerViewElement
- Parameters:
element
- to add
-
clearChildren
Description copied from class:ContainerViewElement
Remove all children from this container.- Overrides:
clearChildren
in classContainerViewElement
-
apply
Description copied from class:ContainerViewElement
Apply a consumer to this container. Useful for providing extensions that wish to provide actions on the container itself.- Overrides:
apply
in classContainerViewElement
- Parameters:
consumer
- to execute
-
applyUnsafe
public <U extends ViewElement> AbstractNodeViewElement applyUnsafe(@NonNull @NonNull Consumer<U> consumer) Description copied from class:ContainerViewElement
Apply a consumer to this container. Useful for providing extensions that wish to provide actions on the container itself. This method allows you to pass anyConsumer
for a genericViewElement
. Note that if you pass a consumer for a type that is not compatible withContainerViewElement
, you will receive class cast exceptions at runtime, hence the unsafe.- Overrides:
applyUnsafe
in classContainerViewElement
- Parameters:
consumer
- to execute
-
returnIfType
-
set
Description copied from interface:ViewElement
Execute one or more setter functions.- Specified by:
set
in interfaceHtmlViewElement
- Specified by:
set
in interfaceMutableViewElement
- Specified by:
set
in interfaceViewElement
- Overrides:
set
in classContainerViewElement
- Parameters:
setters
- to execute- Returns:
- self
-
remove
Description copied from interface:ViewElement
Execute one or more remover functions. A remover is defined as a separate interface so implementations can both implement setter and remover at the same time.- Specified by:
remove
in interfaceHtmlViewElement
- Specified by:
remove
in interfaceMutableViewElement
- Specified by:
remove
in interfaceViewElement
- Overrides:
remove
in classContainerViewElement
- Parameters:
functions
- to execute- Returns:
- self
-
get
Description copied from interface:ViewElement
Get a value from the element. UseViewElement.WitherGetter.as(Class)
for compile time typing. Note that runtime type casting execptions will occur when using the wrong type.- Specified by:
get
in interfaceViewElement
- Type Parameters:
U
- type of the expected return value- Parameters:
function
- that returns the value- Returns:
- value
-
getTagName
- Specified by:
getTagName
in interfaceHtmlViewElement
-
setTagName
- Returns:
this
.
-
getHtmlId
- Specified by:
getHtmlId
in interfaceHtmlViewElement
-
setHtmlId
- Specified by:
setHtmlId
in interfaceHtmlViewElement
- Returns:
this
.
-