Package com.collibra.dgc.core.api.component.workflow

# Interface WorkflowInstanceApi

public interface WorkflowInstanceApi
All the API for handling workflow instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancelWorkflowInstance(UUID workflowInstanceId, String reason)`
  Cancels the workflow instance identified by the given ID with provided reason.
  `boolean`
  `exists(UUID workflowInstanceId)`
  Deprecated.
  This resource has been deprecated and is scheduled for removal.
  `PagedResponse<WorkflowInstance>`
  `findFlatWorkflowInstances(FindWorkflowInstancesRequest findWorkflowInstancesRequest)`
  Returns workflow instances matching given search criteria, without sub process instances and tasks.
  `PagedResponse<WorkflowInstance>`
  `findWorkflowInstances(FindWorkflowInstancesRequest findWorkflowInstancesRequest)`
  Returns workflow instances matching given search criteria.
  `InputStream`
  `getWorkflowInstanceDiagram(UUID workflowInstanceId)`
  Returns the file representing the diagram of workflow instance identified by the given ID.
  `void`
  `messageEventReceived(MessageEventReceivedRequest messageEventReceived)`
  Triggers the message event reception for the workflow with the given properties.
  `List<WorkflowInstance>`
  `startWorkflowInstances(StartWorkflowInstancesRequest startWorkflowInstancesRequest)`
  Starts workflows basing on the provided request.
  `Job`
  `startWorkflowInstancesInJob(StartWorkflowInstancesRequest startWorkflowInstancesRequest)`
  Starts workflows in job basing on the provided request.

- ## Method Details

  - ### startWorkflowInstances

    @SecurityAuditMethod(resultFormatter=com.collibra.audit.formatter.CollectionFormatter.class) List<WorkflowInstance> startWorkflowInstances(StartWorkflowInstancesRequest startWorkflowInstancesRequest)
    Starts workflows basing on the provided request.
    Parameters:
      `startWorkflowInstancesRequest` - the properties of the workflows to be started
    Returns:
      the list of the workflow instances representing the started workflows
    Throws:
      `ApiEntityNotFoundException` - if workflow definition does not exist

  - ### startWorkflowInstancesInJob

    Job startWorkflowInstancesInJob(StartWorkflowInstancesRequest startWorkflowInstancesRequest)
    Starts workflows in job basing on the provided request.
    Parameters:
      `startWorkflowInstancesRequest` - the properties of the workflows to be started
    Returns:
      the job that triggers the workflows asynchronously

  - ### getWorkflowInstanceDiagram

    InputStream getWorkflowInstanceDiagram(UUID workflowInstanceId)
    Returns the file representing the diagram of workflow instance identified by the given ID.
    Parameters:
      `workflowInstanceId` - the ID of the workflow instance to return the diagram for
    Returns:
      the input stream containing the diagram of the workflow instance
    Throws:
      `ApiEntityNotFoundException` - if workflow instance does not exist

  - ### findWorkflowInstances

    @SecurityAuditMethod(resultFormatter=com.collibra.dgc.core.api.internal.security.audit.formatter.PagedResponseFormatter.class) PagedResponse<WorkflowInstance> findWorkflowInstances(FindWorkflowInstancesRequest findWorkflowInstancesRequest)
    Returns workflow instances matching given search criteria.
    Parameters:
      `findWorkflowInstancesRequest` - the search criteria for workflow instances
    Returns:
      the found workflow instances

  - ### findFlatWorkflowInstances

    @SecurityAuditMethod(resultFormatter=com.collibra.dgc.core.api.internal.security.audit.formatter.PagedResponseFormatter.class) PagedResponse<WorkflowInstance> findFlatWorkflowInstances(FindWorkflowInstancesRequest findWorkflowInstancesRequest)
    Returns workflow instances matching given search criteria, without sub process instances and tasks.
    Parameters:
      `findWorkflowInstancesRequest` - the search criteria for workflow instances
    Returns:
      the found workflow instances without sub process instances and tasks

  - ### exists

    @Deprecated boolean exists(UUID workflowInstanceId)
    Deprecated.
    This resource has been deprecated and is scheduled for removal.
    Returns true if a workflow instance with given ID exists.
    Parameters:
      `workflowInstanceId` - the ID of the workflow instance
    Returns:
      true if a workflow instance with given ID exists, `false` otherwise

  - ### cancelWorkflowInstance

    void cancelWorkflowInstance(UUID workflowInstanceId, String reason)
    Cancels the workflow instance identified by the given ID with provided reason.
    Parameters:
      `workflowInstanceId` - the ID of the workflow instance to be cancelled
      `reason` - the reason for the cancellation of the workflow instance
    Throws:
      `ApiEntityNotFoundException` - if workflow instance does not exist

  - ### messageEventReceived

    void messageEventReceived(MessageEventReceivedRequest messageEventReceived)
    Triggers the message event reception for the workflow with the given properties.
    Parameters:
      `messageEventReceived` - the properties of the message event