Interface IElementModelStructureHandler

  • All Known Implementing Classes:
    ElementModelStructureHandler

    public interface IElementModelStructureHandler

    Structure handler class meant to be used by IElementModelProcessor implementations.

    Structure handlers allow processors to instruct the engine to perform a series of actions that cannot be done directly from the processors themselves, usually because these actions are applied or have effects on scopes broader than the processed events themselves.

    Since:
    3.0.0
    Author:
    Daniel Fernández
    • Method Detail

      • reset

        void reset()

        Resets all actions specified so far for the current processor execution.

      • setLocalVariable

        void setLocalVariable​(String name,
                              Object value)

        Instructs the engine to set a new local variable.

        Parameters:
        name - the name of the variable.
        value - the value of the variable.
      • removeLocalVariable

        void removeLocalVariable​(String name)

        Instructs the engine to remove a local variable.

        Parameters:
        name - the name of the variable.
      • setSelectionTarget

        void setSelectionTarget​(Object selectionTarget)

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

        Parameters:
        selectionTarget - the selection target to be set.
      • setInliner

        void setInliner​(IInliner inliner)

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

        Parameters:
        inliner - the inliner.
      • setTemplateData

        void setTemplateData​(TemplateData templateData)

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

        Parameters:
        templateData - the template data.