Package com.orchestranetworks.workflow

# Interface UserTaskCreationContext

All Superinterfaces:
  `DataContext`, `DataContextReadOnly`, `ProcessExecutionContext`, `ProcessExecutionInfoContext`

public interface UserTaskCreationContext extends ProcessExecutionContext, DataContext
This interface is used as the context for `work items creation`.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface com.orchestranetworks.workflow.ProcessExecutionContext

  `ProcessExecutionContext.WorkflowPermission`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `UserTask.WorkItem`
  `createWorkItem(CreationWorkItemSpec aCreationWorkItemSpec)`
  This method creates a work item.
  `String`
  `getAllocatedToNotificationMail()`
  Returns the foreign key defined in the User Task configuration for the mail notification on allocation.
  `String`
  `getOfferedToNotificationMail()`
  Returns the foreign key defined in the User Task configuration for the mail notification on offering.
  `Profile`
  `getProfileMailCC()`
  Returns the profile for CC field
  `List<String>`
  `getProfiles()`
  Returns the profiles defined in the UserTask configuration, as a list of strings.
  `UserTask.UserTaskMode`
  `getUserTaskMode()`
  Returns the user task mode.

  ### Methods inherited from interface com.orchestranetworks.workflow.DataContext

  `setVariableString`

  ### Methods inherited from interface com.orchestranetworks.workflow.DataContextReadOnly

  `getVariableNames, getVariableString, isVariableDefined`

  ### Methods inherited from interface com.orchestranetworks.workflow.ProcessExecutionContext

  `createMailSpec, getProcessInstanceDescription, getProcessInstanceLabel, modifyProcessPriority`

  ### Methods inherited from interface com.orchestranetworks.workflow.ProcessExecutionInfoContext

  `getProcessInstance, getProcessInstanceCreator, getProcessInstanceKey, getProfileForPermission, getPublishedProcessKey, getRepository, getSession`

- ## Method Details

  - ### createWorkItem

    UserTask.WorkItem createWorkItem(CreationWorkItemSpec aCreationWorkItemSpec) throws OperationException
    This method creates a work item. The behavior of the work item is described by the specified argument.

    When the work item is created, all the input parameters are resolved and saved in the work item parameters. The data context input variables are evaluated just once at the work item creation (and not at the workflow execution). Use `DataContext.setVariableString(String, String)` to change the variable value before the creation to persist the expected value.

    For the legacy mode (multi work items), this method must be called exactly one time for the new user task, else an exception is thrown at workflow execution.

    Throws:
      `IllegalStateException` - if the user task is not in legacy multi work items mode, and if the method is called several times. It is forbidden to create several work items in the default single work item mode.
      `IllegalStateException` - if the user task is in legacy multi work items mode, and if the `aCreationWorkItemSpec` defines a work item offered to several profiles. It is forbidden to create a work item offered to several profiles in the legacy multi work items mode. This feature is available only in the default single work item mode.
      `OperationException`

  - ### getProfiles

    List<String> getProfiles()
    Returns the profiles defined in the UserTask configuration, as a list of strings.

  - ### getOfferedToNotificationMail

    String getOfferedToNotificationMail()
    Returns the foreign key defined in the User Task configuration for the mail notification on offering.

  - ### getAllocatedToNotificationMail

    String getAllocatedToNotificationMail()
    Returns the foreign key defined in the User Task configuration for the mail notification on allocation.

  - ### getProfileMailCC

    Profile getProfileMailCC()
    Returns the profile for CC field

  - ### getUserTaskMode

    UserTask.UserTaskMode getUserTaskMode()
    Returns the user task mode.

    This method is useful to know if several work items can be created or if a single work item can be offered to several profiles.

    Since:
      5.7.0
    See Also:
      - `createWorkItem(CreationWorkItemSpec)`