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

    Modifier and Type
    Method
    Description
    void
    Instructs the engine to remove a local variable.
    void
    Resets all actions specified so far for the current processor execution.
    void
    Instructs the engine to set a new inliner.
    void
    Instructs the engine to set a new local variable.
    void
    setSelectionTarget(Object selectionTarget)
    Instructs the engine to set a new selection target.
    void
    Instructs the engine to set a new template data.
  • Method Details

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