Class StructuredEmailData

java.lang.Object
com.flowable.platform.common.el.StructuredEmailData
All Implemented Interfaces:
org.flowable.common.engine.api.variable.VariableContainer

public class StructuredEmailData extends Object implements org.flowable.common.engine.api.variable.VariableContainer
A navigable view over an email content item's structured rendition data, exposed to expressions as ${contentItem.structuredData} when the content item is of type email.

Resolves (via VariableContainer.getVariable(String), invoked by HierarchyVariableELResolver):

  • attachments - the attachment content items (cache-aware, so visible within the triggering transaction as well as afterwards),
  • content item / rendition fields (id, name, mimeType, type, subType, scopeId, scopeType, processInstanceId, taskId, tenantId, parentFolderId, created, createdBy, lastModified, lastModifiedBy, contentSize),
  • every email payload field present in the structured JSON (from, to, subject, ...).
Read-only.
Author:
Micha Kiener
  • Field Details

    • MAIL_PAYLOAD_FIELDS

      protected static final Set<String> MAIL_PAYLOAD_FIELDS
    • contentItem

      protected final CoreContentItem contentItem
    • data

      protected final tools.jackson.databind.node.ObjectNode data
  • Constructor Details

    • StructuredEmailData

      public StructuredEmailData(CoreContentItem contentItem, tools.jackson.databind.node.ObjectNode data)
  • Method Details

    • hasVariable

      public boolean hasVariable(String variableName)
      Specified by:
      hasVariable in interface org.flowable.common.engine.api.variable.VariableContainer
    • getVariable

      public Object getVariable(String variableName)
      Specified by:
      getVariable in interface org.flowable.common.engine.api.variable.VariableContainer
    • resolveAttachments

      protected List<CoreContentItem> resolveAttachments()
    • setVariable

      public void setVariable(String variableName, Object variableValue)
      Specified by:
      setVariable in interface org.flowable.common.engine.api.variable.VariableContainer
    • setTransientVariable

      public void setTransientVariable(String variableName, Object variableValue)
      Specified by:
      setTransientVariable in interface org.flowable.common.engine.api.variable.VariableContainer
    • getTenantId

      public String getTenantId()
      Specified by:
      getTenantId in interface org.flowable.common.engine.api.variable.VariableContainer
    • getVariableNames

      public Set<String> getVariableNames()
      Specified by:
      getVariableNames in interface org.flowable.common.engine.api.variable.VariableContainer