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 Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void  name)
      Instructs the engine to remove a local variable.
      void reset()
      Resets all actions specified so far for the current processor execution.
      void setInliner​(IInliner inliner)
      Instructs the engine to set a new inliner.
      void  name,  value)
      Instructs the engine to set a new local variable.
      void  selectionTarget)
      Instructs the engine to set a new selection target.
      void setTemplateData​(TemplateData templateData)
      Instructs the engine to set a new template data.
    • Method Detail

      • reset

        void reset()

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

      • setLocalVariable

        void setLocalVariable​( name,
                               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​( name)

        Instructs the engine to remove a local variable.

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

        void setSelectionTarget​( 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.