Package org.flowable.engine.dynamic

# Class DynamicProcessDefinitionSummary

java.lang.Object
org.flowable.engine.dynamic.DynamicProcessDefinitionSummary

All Implemented Interfaces:
  `DynamicBpmnConstants`

public class DynamicProcessDefinitionSummary extends Object implements DynamicBpmnConstants
Pojo class who can be used to check information between `DynamicBpmnService.getProcessDefinitionInfo(String)` and `BpmnModel`. Without exposing the internal behavior of the process engine's logic. Created by Pardo David on 5/12/2016.

- ## Field Summary

  ### Fields inherited from interface org.flowable.engine.DynamicBpmnConstants

  `BPMN_NODE, CALL_ACTIVITY_CALLED_ELEMENT, DMN_TASK_DECISION_TABLE_KEY, ENABLE_SKIP_EXPRESSION, GLOBAL_PROCESS_DEFINITION_PROPERTIES, LOCALIZATION_DESCRIPTION, LOCALIZATION_LANGUAGE, LOCALIZATION_NAME, LOCALIZATION_NODE, MULTI_INSTANCE_COMPLETION_CONDITION, SCRIPT_TASK_SCRIPT, SEQUENCE_FLOW_CONDITION, SERVICE_TASK_CLASS_NAME, SERVICE_TASK_DELEGATE_EXPRESSION, SERVICE_TASK_EXPRESSION, TASK_SKIP_EXPRESSION, USER_TASK_ASSIGNEE, USER_TASK_CANDIDATE_GROUPS, USER_TASK_CANDIDATE_USERS, USER_TASK_CATEGORY, USER_TASK_DESCRIPTION, USER_TASK_DUEDATE, USER_TASK_FORM_KEY, USER_TASK_NAME, USER_TASK_OWNER, USER_TASK_PRIORITY, USER_TASK_TASK_ID_VARIABLE_NAME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DynamicProcessDefinitionSummary(BpmnModel bpmnModel, com.fasterxml.jackson.databind.node.ObjectNode processInfo, com.fasterxml.jackson.databind.ObjectMapper objectMapper)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected com.fasterxml.jackson.databind.node.ObjectNode`
  `getBpmnProperties(String elementId, com.fasterxml.jackson.databind.node.ObjectNode processInfoNode)`
  `com.fasterxml.jackson.databind.node.ObjectNode`
  `getElement(String elementId)`
  Returns the summary in the following structure:
  `com.fasterxml.jackson.databind.node.ObjectNode`
  `getSummary()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DynamicProcessDefinitionSummary

    public DynamicProcessDefinitionSummary(BpmnModel bpmnModel, com.fasterxml.jackson.databind.node.ObjectNode processInfo, com.fasterxml.jackson.databind.ObjectMapper objectMapper)

- ## Method Details

  - ### getElement

    public com.fasterxml.jackson.databind.node.ObjectNode getElement(String elementId) throws IllegalStateException
    Returns the summary in the following structure:

         {
             "elementId": (the elements id)
             "elementType": (the elements type)
             "elementSummary": {
                 "DynamicBpmnConstants linked to the elementType": {
                     bpmnmodel : (array of strings | string | not provided if empty / blank / null)
                     dynamic: (array of strings or string or not provided if blank or empty)
                 }
             }
         }

    If no value is found for a given `DynamicBpmnConstants` in the `BpmnModel` or ProcessDefinitionInfo. we don't store an key in the resulting `ObjectNode`. Null values should be avoided in JSON. Depending on the `ObjectMapper` configuration keys with a null value could even be removed when writing to json.

    Currently supported flow elements are:
    - UserTask
    - ScriptTask
    No summary will field will be created for other elements. ElementId, and elementType will be available.
    Parameters:
      `elementId` - the id of the `FlowElement`.
    Returns:
      an `ObjectNode` with the provided structure.
    Throws:
      `IllegalStateException` - if no `FlowElement` is found for the provided id.

  - ### getSummary

    public com.fasterxml.jackson.databind.node.ObjectNode getSummary()

  - ### getBpmnProperties

    protected com.fasterxml.jackson.databind.node.ObjectNode getBpmnProperties(String elementId, com.fasterxml.jackson.databind.node.ObjectNode processInfoNode)