Package org.kie.internal.builder.fluent

## Interface ProcessFluent<T,​U>

- All Known Subinterfaces:
    `KieSessionFluent`

      public interface ProcessFluent<T,​U>

  see `ProcessRuntime`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `T` | `abortProcessInstance​(String processInstanceId)` | Aborts the process instance with the given id.
    `T` | `createProcessInstance​(String processId, Map<String,​Object> parameters)` | Creates a new process instance (but does not yet start it).
    `WorkItemManagerFluent<WorkItemManagerFluent,​T,​U>` | `getWorkItemManager()` | Returns the `WorkItemManager` related to this session.
    `T` | `signalEvent​(String type, Object event)` | Signals the engine that an event has occurred.
    `T` | `signalEvent​(String type, Object event, String processInstanceId)` | Signals the process instance that an event has occurred.
    `T` | `startProcess​(String processId)` | Start a new process instance.
    `T` | `startProcess​(String processId, Map<String,​Object> parameters)` | Start a new process instance.
    `T` | `startProcessInstance​(String processInstanceId)` | Starts the given process instance (which was created by using createProcesInstance but not yet started).

- - ### Method Detail

    - #### startProcess

          T startProcess​(String processId)

      Start a new process instance. The process (definition) that should be used is referenced by the given process id.
      Parameters:
        `processId` - The id of the process that should be started
      Returns:
        the `ProcessInstance` that represents the instance of the process that was started

    - #### startProcess

          T startProcess​(String processId,
                         Map<String,​Object> parameters)

      Start a new process instance. The process (definition) that should be used is referenced by the given process id. Parameters can be passed to the process instance (as name-value pairs), and these will be set as variables of the process instance.
      Parameters:
        `processId` - the id of the process that should be started
        `parameters` - the process variables that should be set when starting the process instance
      Returns:
        the `ProcessInstance` that represents the instance of the process that was started

    - #### createProcessInstance

          T createProcessInstance​(String processId,
                                  Map<String,​Object> parameters)

      Creates a new process instance (but does not yet start it). The process (definition) that should be used is referenced by the given process id. Parameters can be passed to the process instance (as name-value pairs), and these will be set as variables of the process instance. You should only use this method if you need a reference to the process instance before actually starting it. Otherwise, use startProcess.
      Parameters:
        `processId` - the id of the process that should be started
        `parameters` - the process variables that should be set when creating the process instance
      Returns:
        the `ProcessInstance` that represents the instance of the process that was created (but not yet started)

    - #### startProcessInstance

          T startProcessInstance​(String processInstanceId)

      Starts the given process instance (which was created by using createProcesInstance but not yet started). This method can only be called once for each process instance. You should only use this method if you need a reference to the process instance before actually starting it. Otherwise, use startProcess.
      Parameters:
        `processInstanceId` - the id of the process instance that needs to be started
      Returns:
        the `ProcessInstance` that represents the instance of the process that was started

    - #### signalEvent

          T signalEvent​(String type,
                        Object event)

      Signals the engine that an event has occurred. The type parameter defines which type of event and the event parameter can contain additional information related to the event. All process instances that are listening to this type of (external) event will be notified. For performance reasons, this type of event signaling should only be used if one process instance should be able to notify other process instances. For internal event within one process instance, use the signalEvent method that also include the processInstanceId of the process instance in question.
      Parameters:
        `type` - the type of event
        `event` - the data associated with this event

    - #### signalEvent

          T signalEvent​(String type,
                        Object event,
                        String processInstanceId)

      Signals the process instance that an event has occurred. The type parameter defines which type of event and the event parameter can contain additional information related to the event. All node instances inside the given process instance that are listening to this type of (internal) event will be notified. Note that the event will only be processed inside the given process instance. All other process instances waiting for this type of event will not be notified.
      Parameters:
        `type` - the type of event
        `event` - the data associated with this event
        `processInstanceId` - the id of the process instance that should be signaled

    - #### abortProcessInstance

          T abortProcessInstance​(String processInstanceId)

      Aborts the process instance with the given id. If the process instance has been completed (or aborted), or the process instance cannot be found, this method will throw an `IllegalArgumentException`.
      Parameters:
        `processInstanceId` - the id of the process instance

    - #### getWorkItemManager

          WorkItemManagerFluent<WorkItemManagerFluent,​T,​U> getWorkItemManager()

      Returns the `WorkItemManager` related to this session. This can be used to register new `WorkItemHandler`s or to complete (or abort) `WorkItem`s.
      Returns:
        the `WorkItemManager` related to this session