Package com.orchestranetworks.workflow

# Interface SubWorkflowsCreationContext

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

public interface SubWorkflowsCreationContext extends ProcessExecutionContext, DataContext
Provides the context for launching the sub-workflows of a step.

Since:
  5.5.0
See Also:
  - `SubWorkflowsInvocationBean.handleCreateSubWorkflows(SubWorkflowsCreationContext)`

- ## Nested Class Summary

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

  `ProcessExecutionContext.WorkflowPermission`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `launchSubWorkflows()`
  Launches all registered sub-workflows.
  `ProcessLauncher`
  `registerSubWorkflow(AdaptationName aWorkflowModel, String aSubWorkflowName)`
  Registers the launch of a sub-workflow.
  `void`
  `setForegroundSubWorkflow(ProcessLauncher foregroundSubWorkflow)`
  Registers which sub-workflow should be opened, accordingly to the progress strategy of the previous step.

  ### 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

  - ### registerSubWorkflow

    ProcessLauncher registerSubWorkflow(AdaptationName aWorkflowModel, String aSubWorkflowName) throws OperationException
    Registers the launch of a sub-workflow.
    Parameters:
      `aWorkflowModel` - name of the workflow model to use for the sub workflow launch.
      `aSubWorkflowName` - name of the workflow for the launch. This name is useful to retrieve a launched sub workflow in the method `SubWorkflowsCompletionContext.getCompletedSubWorkflow(String)`
    Throws:
      `OperationException`

  - ### setForegroundSubWorkflow

    void setForegroundSubWorkflow(ProcessLauncher foregroundSubWorkflow) throws OperationException
    Registers which sub-workflow should be opened, accordingly to the progress strategy of the previous step. Only one sub-workflow can get this property, previous foreground sub-workflow will lose this property.
    Parameters:
      `foregroundSubWorkflow` - sub-workflow to be set as foreground.
    Throws:
      `OperationException`
    Since:
      6.0.0

  - ### launchSubWorkflows

    void launchSubWorkflows() throws OperationException
    Launches all registered sub-workflows.
    Throws:
      `IllegalArgumentException` - if a specified input parameter name is not declared in the sub workflow definition's data context, or the corresponding variable is not declared as being an input parameter.
      `OperationException`