Class ElementModelStructureHandler

  • All Implemented Interfaces:
    IElementModelStructureHandler

    public final class ElementModelStructureHandler
    extends java.lang.Object
    implements IElementModelStructureHandler

    Structure handler implementation, internally used by the engine.

    This class should not be directly used from outside the engine.

    Since:
    3.0.0
    • Field Detail

      • setLocalVariable

        boolean setLocalVariable
      • addedLocalVariables

        java.util.Map<java.lang.String,​java.lang.Object> addedLocalVariables
      • removeLocalVariable

        boolean removeLocalVariable
      • removedLocalVariableNames

        java.util.Set<java.lang.String> removedLocalVariableNames
      • setSelectionTarget

        boolean setSelectionTarget
      • selectionTargetObject

        java.lang.Object selectionTargetObject
      • setInliner

        boolean setInliner
      • setInlinerValue

        IInliner setInlinerValue
      • setTemplateData

        boolean setTemplateData
    • Constructor Detail

      • ElementModelStructureHandler

        ElementModelStructureHandler()
    • Method Detail

      • setLocalVariable

        public void setLocalVariable​(java.lang.String name,
                                     java.lang.Object value)
        Description copied from interface: IElementModelStructureHandler

        Instructs the engine to set a new local variable.

        Specified by:
        setLocalVariable in interface IElementModelStructureHandler
        Parameters:
        name - the name of the variable.
        value - the value of the variable.
      • setSelectionTarget

        public void setSelectionTarget​(java.lang.Object selectionTarget)
        Description copied from interface: IElementModelStructureHandler

        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.

        See ITemplateContext.getSelectionTarget()

        Specified by:
        setSelectionTarget in interface IElementModelStructureHandler
        Parameters:
        selectionTarget - the selection target to be set.
      • setInliner

        public void setInliner​(IInliner inliner)
        Description copied from interface: IElementModelStructureHandler

        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).

        See ITemplateContext.getInliner()

        Specified by:
        setInliner in interface IElementModelStructureHandler
        Parameters:
        inliner - the inliner.
      • setTemplateData

        public void setTemplateData​(TemplateData templateData)
        Description copied from interface: IElementModelStructureHandler

        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.

        See ITemplateContext.getTemplateData()

        Specified by:
        setTemplateData in interface IElementModelStructureHandler
        Parameters:
        templateData - the template data.
      • applyContextModifications

        void applyContextModifications​(IEngineContext engineContext)