public final class ElementTagStructureHandler extends Object implements IElementTagStructureHandler
Structure handler implementation, internally used by the engine.
This class should not be directly used from outside the engine.
Modifier and Type | Method and Description |
---|---|
void |
insertBefore(IModel model)
Instructs the engine to insert the specified model just before the element being processed.
|
void |
insertImmediatelyAfter(IModel model,
boolean processable)
Instructs the engine to insert the specified model just after the element being processed.
|
void |
iterateElement(String iterVariableName,
String iterStatusVariableName,
Object iteratedObject)
Instructs the engine to iterate the current element, applying a specific iteration configuration.
|
void |
removeAllButFirstChild()
Instructs the engine to remove all the children of the element being processed, except the first one (the
first element, not text or others).
|
void |
removeAttribute(AttributeName attributeName)
Instructs the engine to remove an attribute from the tag being processed.
|
void |
removeAttribute(String attributeName)
Instructs the engine to remove an attribute from the tag being processed.
|
void |
removeAttribute(String prefix,
String name)
Instructs the engine to remove an attribute from the tag being processed.
|
void |
removeBody()
Instructs the engine to remove the body of the element being processed, but keep the open and close tags.
|
void |
removeElement()
Instructs the engine to remove the entire element that is being processed (open tag, body, close tag).
|
void |
removeLocalVariable(String name)
Instructs the engine to remove a local variable.
|
void |
removeTags()
Instructs the engine to remove the tags delimiting the element being processed (open and close tag), but
keep the body.
|
void |
replaceAttribute(AttributeName oldAttributeName,
AttributeDefinition attributeDefinition,
String attributeName,
String attributeValue,
AttributeValueQuotes attributeValueQuotes) |
void |
replaceAttribute(AttributeName oldAttributeName,
String attributeName,
String attributeValue)
Instructs the engine to replace an existing attribute for a new one (which can also exist)
in the current tag being processed.
|
void |
replaceAttribute(AttributeName oldAttributeName,
String attributeName,
String attributeValue,
AttributeValueQuotes attributeValueQuotes)
Instructs the engine to replace an existing attribute for a new one (which can also exist)
in the current tag being processed.
|
void |
replaceWith(CharSequence text,
boolean processable)
Instructs the engine to replace the current element with the specified text (a CharSequence).
|
void |
replaceWith(IModel model,
boolean processable)
Instructs the engine to replace the current element with the specified model (a
IModel ). |
void |
reset()
Resets all actions specified so far for the current processor execution.
|
void |
setAttribute(AttributeDefinition attributeDefinition,
String attributeName,
String attributeValue,
AttributeValueQuotes attributeValueQuotes) |
void |
setAttribute(String attributeName,
String attributeValue)
Instructs the engine to set an attribute (existing or not) in the current tag being
processed.
|
void |
setAttribute(String attributeName,
String attributeValue,
AttributeValueQuotes attributeValueQuotes)
Instructs the engine to set an attribute (existing or not) in the current tag being
processed.
|
void |
setBody(CharSequence text,
boolean processable)
Instructs the engine to set a new body for the current element, in the form of a CharSequence.
|
void |
setBody(IModel model,
boolean processable)
Instructs the engine to set a new body for the current element, in the form of an
IModel . |
void |
setInliner(IInliner inliner)
Instructs the engine to set a new inliner.
|
void |
setLocalVariable(String name,
Object value)
Instructs the engine to set a new local variable.
|
void |
setSelectionTarget(Object selectionTarget)
Instructs the engine to set a new selection target.
|
void |
setTemplateData(TemplateData templateData)
Instructs the engine to set a new template data.
|
public void setBody(CharSequence text, boolean processable)
IElementTagStructureHandler
Instructs the engine to set a new body for the current element, in the form of a CharSequence.
This is the way a processor can change what is shown inside an element during processing. For example, it is this way how th:text changes the contents of its containing element.
setBody
in interface IElementTagStructureHandler
text
- the text to be used as the new body.processable
- whether the text being set should be considered processable, and therefore
any ITextProcessor
processors might be applied on it,
or not.public void setBody(IModel model, boolean processable)
IElementTagStructureHandler
Instructs the engine to set a new body for the current element, in the form of an IModel
.
This is the way a processor can change what is shown inside an element during processing. For example, it is this way how th:utext changes the contents of its containing element.
setBody
in interface IElementTagStructureHandler
model
- the model to be used as the new body.processable
- whether the model being set should be considered processable, and therefore
any processors might be applied on its events, or not.public void insertBefore(IModel model)
IElementTagStructureHandler
Instructs the engine to insert the specified model just before the element being processed.
Processors can use this method to insert content before the tag they are processing, but with the
limitation that such content (in the form of an IModel
) cannot be processable, i.e.
no processors will be executed on their elements or texts.
insertBefore
in interface IElementTagStructureHandler
model
- the model to be insertedpublic void insertImmediatelyAfter(IModel model, boolean processable)
IElementTagStructureHandler
Instructs the engine to insert the specified model just after the element being processed.
Processors can use this method to insert content just after the tag they are processing. Note that such content will be inserted after the tag, not the element, which in practice means that if the tag is an open tag, the new content will be inserted as the first part of the element's body.
insertImmediatelyAfter
in interface IElementTagStructureHandler
model
- the model to be inserted.processable
- whether the inserted model should be considered processable or not (i.e. whether
processors should be executed on it).public void replaceWith(CharSequence text, boolean processable)
IElementTagStructureHandler
Instructs the engine to replace the current element with the specified text (a CharSequence).
Note it is the complete element that will be replaced with the specified text, i.e. the open tag, the body and the close tag.
replaceWith
in interface IElementTagStructureHandler
text
- the text to be used as a replacement.processable
- whether the text should be considered processable or not.public void replaceWith(IModel model, boolean processable)
IElementTagStructureHandler
Instructs the engine to replace the current element with the specified model (a IModel
).
Note it is the complete element that will be replaced with the specified model, i.e. the open tag, the body and the close tag.
replaceWith
in interface IElementTagStructureHandler
model
- the model to be used as a replacement.processable
- whether the model should be considered processable or not.public void removeElement()
IElementTagStructureHandler
Instructs the engine to remove the entire element that is being processed (open tag, body, close tag).
removeElement
in interface IElementTagStructureHandler
public void removeTags()
IElementTagStructureHandler
Instructs the engine to remove the tags delimiting the element being processed (open and close tag), but keep the body.
removeTags
in interface IElementTagStructureHandler
public void removeBody()
IElementTagStructureHandler
Instructs the engine to remove the body of the element being processed, but keep the open and close tags.
removeBody
in interface IElementTagStructureHandler
public void removeAllButFirstChild()
IElementTagStructureHandler
Instructs the engine to remove all the children of the element being processed, except the first one (the first element, not text or others).
removeAllButFirstChild
in interface IElementTagStructureHandler
public void removeLocalVariable(String name)
IElementTagStructureHandler
Instructs the engine to remove a local variable.
removeLocalVariable
in interface IElementTagStructureHandler
name
- the name of the variable.public void setLocalVariable(String name, Object value)
IElementTagStructureHandler
Instructs the engine to set a new local variable.
setLocalVariable
in interface IElementTagStructureHandler
name
- the name of the variable.value
- the value of the variable.public void setAttribute(String attributeName, String attributeValue)
IElementTagStructureHandler
Instructs the engine to set an attribute (existing or not) in the current tag being processed.
setAttribute
in interface IElementTagStructureHandler
attributeName
- the name of the attribute.attributeValue
- the value of the attribute.public void setAttribute(String attributeName, String attributeValue, AttributeValueQuotes attributeValueQuotes)
IElementTagStructureHandler
Instructs the engine to set an attribute (existing or not) in the current tag being processed.
setAttribute
in interface IElementTagStructureHandler
attributeName
- the name of the attribute.attributeValue
- the value of the attribute.attributeValueQuotes
- the type of quotes to be set for the attribute.public void setAttribute(AttributeDefinition attributeDefinition, String attributeName, String attributeValue, AttributeValueQuotes attributeValueQuotes)
public void replaceAttribute(AttributeName oldAttributeName, String attributeName, String attributeValue)
IElementTagStructureHandler
Instructs the engine to replace an existing attribute for a new one (which can also exist) in the current tag being processed.
replaceAttribute
in interface IElementTagStructureHandler
oldAttributeName
- the name of the attribute to be replaced.attributeName
- the name of the new attribute.attributeValue
- the value of the new attribute.public void replaceAttribute(AttributeName oldAttributeName, String attributeName, String attributeValue, AttributeValueQuotes attributeValueQuotes)
IElementTagStructureHandler
Instructs the engine to replace an existing attribute for a new one (which can also exist) in the current tag being processed.
replaceAttribute
in interface IElementTagStructureHandler
oldAttributeName
- the name of the attribute to be replaced.attributeName
- the name of the new attribute.attributeValue
- the value of the new attribute.attributeValueQuotes
- the type of quotes to be set for the attribute.public void replaceAttribute(AttributeName oldAttributeName, AttributeDefinition attributeDefinition, String attributeName, String attributeValue, AttributeValueQuotes attributeValueQuotes)
public void removeAttribute(String attributeName)
IElementTagStructureHandler
Instructs the engine to remove an attribute from the tag being processed.
removeAttribute
in interface IElementTagStructureHandler
attributeName
- the complete name of the attribute to be removed.public void removeAttribute(String prefix, String name)
IElementTagStructureHandler
Instructs the engine to remove an attribute from the tag being processed.
removeAttribute
in interface IElementTagStructureHandler
prefix
- the prefix of the attribute to be removed.name
- the name of the attribute to be removed.public void removeAttribute(AttributeName attributeName)
IElementTagStructureHandler
Instructs the engine to remove an attribute from the tag being processed.
removeAttribute
in interface IElementTagStructureHandler
attributeName
- the name of the attribute to be removed.public void setSelectionTarget(Object selectionTarget)
IElementTagStructureHandler
Instructs the engine to set a new selection target.
The selection target is the object on which selection expressions (*{...}) are executed. In the Standard Dialect, this selection target is usually modified by means of the th:object attribute, but custom processors can do it too. Note the selection target has the same scope as a local variable, and will therefore be accessible only inside the body of the element being processed.
setSelectionTarget
in interface IElementTagStructureHandler
selectionTarget
- the selection target to be set.public void setInliner(IInliner inliner)
IElementTagStructureHandler
Instructs the engine to set a new inliner.
Inliners are used for processing all text nodes (IText
events) appearing
in the body of the element being processed. This is the mechanism used by the th:inline attribute to
enable inlining in any of the specified modes (text, javascript, etc).
setInliner
in interface IElementTagStructureHandler
inliner
- the inliner.public void setTemplateData(TemplateData templateData)
IElementTagStructureHandler
Instructs the engine to set a new template data.
This method modifies the metadata about the template that is actually being processed. When inserting fragments, this allows the engine to know data about the specific fragment being processed, and also the complete stack of fragments being nested.
setTemplateData
in interface IElementTagStructureHandler
templateData
- the template data.public void iterateElement(String iterVariableName, String iterStatusVariableName, Object iteratedObject)
IElementTagStructureHandler
Instructs the engine to iterate the current element, applying a specific iteration configuration.
This method specifies the name of both the iteration variable name and the iterStatus variable name, and also the object that should be iterated (usually a Collection, Iterable or similar).
iterateElement
in interface IElementTagStructureHandler
iterVariableName
- the name of the iteration variable.iterStatusVariableName
- the name of the iterations status variable.iteratedObject
- the object to be iterated.public void reset()
IElementTagStructureHandler
Resets all actions specified so far for the current processor execution.
reset
in interface IElementTagStructureHandler
Copyright © 2016 The THYMELEAF team. All rights reserved.