Class FormServiceImpl

java.lang.Object
org.camunda.bpm.engine.impl.ServiceImpl
org.camunda.bpm.engine.impl.FormServiceImpl
All Implemented Interfaces:
FormService

public class FormServiceImpl extends ServiceImpl implements FormService
Author:
Tom Baeyens, Falko Menge (camunda)
  • Constructor Details

    • FormServiceImpl

      public FormServiceImpl()
  • Method Details

    • getRenderedStartForm

      public Object getRenderedStartForm(String processDefinitionId)
      Description copied from interface: FormService
      Rendered form generated by the default build-in form engine for starting a new process instance.
      Specified by:
      getRenderedStartForm in interface FormService
    • getRenderedStartForm

      public Object getRenderedStartForm(String processDefinitionId, String engineName)
      Description copied from interface: FormService
      Rendered form generated by the given build-in form engine for starting a new process instance.
      Specified by:
      getRenderedStartForm in interface FormService
    • getRenderedTaskForm

      public Object getRenderedTaskForm(String taskId)
      Description copied from interface: FormService
      Rendered form generated by the default build-in form engine for completing a task.
      Specified by:
      getRenderedTaskForm in interface FormService
    • getRenderedTaskForm

      public Object getRenderedTaskForm(String taskId, String engineName)
      Description copied from interface: FormService
      Rendered form generated by the given build-in form engine for completing a task.
      Specified by:
      getRenderedTaskForm in interface FormService
    • getStartFormData

      public StartFormData getStartFormData(String processDefinitionId)
      Description copied from interface: FormService
      Retrieves all data necessary for rendering a form to start a new process instance. This can be used to perform rendering of the forms outside of the process engine.
      Specified by:
      getStartFormData in interface FormService
    • getTaskFormData

      public TaskFormData getTaskFormData(String taskId)
      Description copied from interface: FormService
      Retrieves all data necessary for rendering a form to complete a task. This can be used to perform rendering of the forms outside of the process engine.
      Specified by:
      getTaskFormData in interface FormService
    • submitStartFormData

      public ProcessInstance submitStartFormData(String processDefinitionId, Map<String,String> properties)
      Specified by:
      submitStartFormData in interface FormService
    • submitStartFormData

      public ProcessInstance submitStartFormData(String processDefinitionId, String businessKey, Map<String,String> properties)
      Specified by:
      submitStartFormData in interface FormService
    • submitStartForm

      public ProcessInstance submitStartForm(String processDefinitionId, Map<String,Object> properties)
      Description copied from interface: FormService
      Start a new process instance with the user data that was entered as properties in a start form.
      Specified by:
      submitStartForm in interface FormService
    • submitStartForm

      public ProcessInstance submitStartForm(String processDefinitionId, String businessKey, Map<String,Object> properties)
      Description copied from interface: FormService
      Start a new process instance with the user data that was entered as properties in a start form. A business key can be provided to associate the process instance with a certain identifier that has a clear business meaning. For example in an order process, the business key could be an order id. This business key can then be used to easily look up that process instance , see ProcessInstanceQuery.processInstanceBusinessKey(String). Providing such a business key is definitely a best practice. Note that a business key MUST be unique for the given process definition. Process instance from different process definition are allowed to have the same business key.
      Specified by:
      submitStartForm in interface FormService
      Parameters:
      processDefinitionId - the id of the process definition, cannot be null.
      businessKey - a key that uniquely identifies the process instance in the context or the given process definition.
      properties - the properties to pass, can be null.
    • submitTaskFormData

      public void submitTaskFormData(String taskId, Map<String,String> properties)
      Specified by:
      submitTaskFormData in interface FormService
    • submitTaskForm

      public void submitTaskForm(String taskId, Map<String,Object> properties)
      Description copied from interface: FormService
      Completes a task with the user data that was entered as properties in a task form.
      Specified by:
      submitTaskForm in interface FormService
    • submitTaskFormWithVariablesInReturn

      public VariableMap submitTaskFormWithVariablesInReturn(String taskId, Map<String,Object> properties, boolean deserializeValues)
      Description copied from interface: FormService
      Completes a task with the user data that was entered as properties in a task form.
      Specified by:
      submitTaskFormWithVariablesInReturn in interface FormService
      deserializeValues - if false, returned SerializableValues will not be deserialized (unless they are passed into this method as a deserialized value or if the BPMN process triggers deserialization)
      Returns:
      a map of process variables
    • getStartFormKey

      public String getStartFormKey(String processDefinitionId)
      Description copied from interface: FormService
      Retrieves a user defined reference to a start form. In the Explorer app, it is assumed that the form key specifies a resource in the deployment, which is the template for the form. But users are free to use this property differently.
      Specified by:
      getStartFormKey in interface FormService
    • getTaskFormKey

      public String getTaskFormKey(String processDefinitionId, String taskDefinitionKey)
      Description copied from interface: FormService
      Retrieves a user defined reference to a task form. In the Explorer app, it is assumed that the form key specifies a resource in the deployment, which is the template for the form. But users are free to use this property differently. Both arguments can be obtained from Task instances returned by any TaskQuery.
      Specified by:
      getTaskFormKey in interface FormService
    • getStartFormVariables

      public VariableMap getStartFormVariables(String processDefinitionId)
      Description copied from interface: FormService
      Retrieves a list of all variables for rendering a start from. The method takes into account FormData specified for the start event. This allows defining default values for form fields.
      Specified by:
      getStartFormVariables in interface FormService
      Parameters:
      processDefinitionId - the id of the process definition for which the start form should be retrieved.
      Returns:
      a map of VariableInstances.
    • getStartFormVariables

      public VariableMap getStartFormVariables(String processDefinitionId, Collection<String> formVariables, boolean deserializeObjectValues)
      Description copied from interface: FormService
      Retrieves a list of requested variables for rendering a start from. The method takes into account FormData specified for the start event. This allows defining default values for form fields.
      Specified by:
      getStartFormVariables in interface FormService
      Parameters:
      processDefinitionId - the id of the process definition for which the start form should be retrieved.
      formVariables - a Collection of the names of the variables to retrieve. Allows restricting the set of retrieved variables.
      deserializeObjectValues - if false object values are not deserialized
      Returns:
      a map of VariableInstances.
    • getTaskFormVariables

      public VariableMap getTaskFormVariables(String taskId)
      Description copied from interface: FormService

      Retrieves a list of all variables for rendering a task form. In addition to the task variables and process variables, the method takes into account FormData specified for the task. This allows defining default values for form fields.

      A variable is resolved in the following order:

      • First, the method collects all form fields and creates variable instances for the form fields.
      • Next, the task variables are collected.
      • Next, process variables from the parent scopes of the task are collected, until the process instance scope is reached.

      Specified by:
      getTaskFormVariables in interface FormService
      Parameters:
      taskId - the id of the task for which the variables should be retrieved.
      Returns:
      a map of VariableInstances.
    • getTaskFormVariables

      public VariableMap getTaskFormVariables(String taskId, Collection<String> formVariables, boolean deserializeObjectValues)
      Description copied from interface: FormService

      Retrieves a list of requested variables for rendering a task form. In addition to the task variables and process variables, the method takes into account FormData specified for the task. This allows defining default values for form fields.

      A variable is resolved in the following order:

      • First, the method collects all form fields and creates variable instances for the form fields.
      • Next, the task variables are collected.
      • Next, process variables from the parent scopes of the task are collected, until the process instance scope is reached.

      Specified by:
      getTaskFormVariables in interface FormService
      Parameters:
      taskId - the id of the task for which the variables should be retrieved.
      formVariables - a Collection of the names of the variables to retrieve. Allows restricting the set of retrieved variables.
      deserializeObjectValues - if false object values are not deserialized
      Returns:
      a map of VariableInstances.
    • getDeployedStartForm

      public InputStream getDeployedStartForm(String processDefinitionId)
      Description copied from interface: FormService
      Retrieves a deployed start form for a process definition with a given id.
      Specified by:
      getDeployedStartForm in interface FormService
    • getDeployedTaskForm

      public InputStream getDeployedTaskForm(String taskId)
      Description copied from interface: FormService
      Retrieves a deployed task form for a task with a given id.
      Specified by:
      getDeployedTaskForm in interface FormService