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

# Interface WorkflowDefinition

All Superinterfaces:
  `Entity`, `NamedDescribedResource`, `NamedResource`, `Resource`, `Serializable`

public interface WorkflowDefinition extends NamedDescribedResource
Definition of a workflow. It contains the workflow logic, code, configuration and is usually represented by a diagram or a .bpmn file

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<AssetAssignmentRule>`
  `getAssetAssignmentRules()`
  Returns the list of asset assignment rules.
  `WorkflowBusinessItemType`
  `getBusinessItemResourceType()`
  Returns the type of business item that the workflow can refer to.
  `Map<String,String>`
  `getConfigurationVariables()`
  Returns the map of configuration variable key-value pairs.
  `Long`
  `getDeployedOn()`
  Returns the time the workflow was last deployed on
  `List<DomainAssignmentRule>`
  `getDomainAssignmentRules()`
  Returns the list of domain assignment rules.
  `WorkflowExclusivity`
  `getExclusivity()`
  Returns the exclusivity of this workflow.
  `GuardrailsValidationResult`
  `getGuardrailsValidationResult()`
  Returns the result of the guardrails validation of this workflow definition
  `String`
  `getProcessId()`
  Returns the ID that uniquely identifies a workflow definition in the application.
  `List<Role>`
  `getReassignRoles()`
  Returns the roles allowed to reassign tasks.
  `List<WorkflowStartEventType>`
  `getStartEvents()`
  Returns the start events in a list of `WorkflowStartEventType` enums.
  `String`
  `getStartLabel()`
  Returns the label used for starting this workflow.
  `List<Role>`
  `getStartRoles()`
  Returns the roles allowed to start the process.
  `List<Role>`
  `getStopRoles()`
  Returns the roles allowed to stop processes/tasks.
  `boolean`
  `isCandidateUserCheckEnabled()`
  Returns if the candidate user check for this workflow is disabled.
  `boolean`
  `isEnabled()`
  Whether workflow is enabled or not.
  `boolean`
  `isFormRequired()`
  Returns whether the start form for this workflow requires user interaction through a form or not.
  `boolean`
  `isGlobalCreate()`
  Returns if the workflow is accessible from the global create menu.
  `boolean`
  `isGuestUserAccessible()`
  Returns if this workflow definition is guest user accessible.
  `boolean`
  `isRegisteredUserAccessible()`
  Returns if the workflow definition is accessible by any registered user.
  `boolean`
  `isStartFormJsonModelAvailable()`
  Indicates whether the start form json model is available.
  `boolean`
  `isStartFormKeyAvailable()`
  Deprecated.
  This method will be removed in the future.

  ### Methods inherited from interface Entity

  `getId, setId`

  ### Methods inherited from interface NamedDescribedResource

  `getDescription`

  ### Methods inherited from interface NamedResource

  `getName`

  ### Methods inherited from interface Resource

  `getCreatedBy, getCreatedOn, getLastModifiedBy, getLastModifiedOn, getResourceType, isSystem`

- ## Method Details

  - ### getProcessId

    String getProcessId()
    Returns the ID that uniquely identifies a workflow definition in the application. It is present in the BPMN notation in the ID property of the 'invalid input: '<'process..' tag. Deploying a BPMN in DGC creates a new version if a process with the same ID already exists.
    Returns:
      the ID that uniquely identifies a workflow definition in the application

  - ### getStartLabel

    String getStartLabel()
    Returns the label used for starting this workflow.
    Returns:
      the label used for starting this workflow

  - ### isFormRequired

    boolean isFormRequired()
    Returns whether the start form for this workflow requires user interaction through a form or not.
    Returns:
      whether the start form for this workflow requires user interaction through a form or not

  - ### isStartFormKeyAvailable

    @Deprecated boolean isStartFormKeyAvailable()
    Deprecated.
    This method will be removed in the future. Please, use 'isStartFormJsonModelAvailable' to recognize if start form model is available.

  - ### isStartFormJsonModelAvailable

    boolean isStartFormJsonModelAvailable()
    Indicates whether the start form json model is available. If true, then the external form definition for this task is needed to render the task. To fetch start from json model use `WorkflowTaskApi.getStartFormJsonModel(java.util.UUID)`
    Returns:
      whether the start form json model is available

  - ### isEnabled

    boolean isEnabled()
    Whether workflow is enabled or not. A workflow has to be enabled for a user to be able to start a workflow. A workflow is enabled if it's status is put on the status 'enabled'.
    Returns:
      whether if the workflow is enabled or not

  - ### getDomainAssignmentRules

    List<DomainAssignmentRule> getDomainAssignmentRules()
    Returns the list of domain assignment rules.
    Returns:
      the list of domain assignment rules

  - ### getAssetAssignmentRules

    List<AssetAssignmentRule> getAssetAssignmentRules()
    Returns the list of asset assignment rules.
    Returns:
      the list of asset assignment rules

  - ### getBusinessItemResourceType

    WorkflowBusinessItemType getBusinessItemResourceType()
    Returns the type of business item that the workflow can refer to. This could be either Community, Domain, Asset, or global.
    Returns:
      the type of business item that the workflow can refer to

  - ### getExclusivity

    WorkflowExclusivity getExclusivity()
    Returns the exclusivity of this workflow. This determines how many times a workflow can be started for a specific resource.
    Returns:
      the exclusivity of the workfow

  - ### isGuestUserAccessible

    boolean isGuestUserAccessible()
    Returns if this workflow definition is guest user accessible.
    Returns:
      `true` if guest user has access, `false` otherwise

  - ### isRegisteredUserAccessible

    boolean isRegisteredUserAccessible()
    Returns if the workflow definition is accessible by any registered user.
    Returns:
      `true` if accessible by all registered users, `false` otherwise

  - ### isCandidateUserCheckEnabled

    boolean isCandidateUserCheckEnabled()
    Returns if the candidate user check for this workflow is disabled.
    Returns:
      `true` if disabled, `false` otherwise

  - ### isGlobalCreate

    boolean isGlobalCreate()
    Returns if the workflow is accessible from the global create menu.
    Returns:
      `true` if accessible, `false` otherwise

  - ### getStartEvents

    List<WorkflowStartEventType> getStartEvents()
    Returns the start events in a list of `WorkflowStartEventType` enums.
    Returns:
      The list of workflow event types

  - ### getConfigurationVariables

    Map<String,String> getConfigurationVariables()
    Returns the map of configuration variable key-value pairs.
    Returns:
      Map of configuration variables

  - ### getStartRoles

    List<Role> getStartRoles()
    Returns the roles allowed to start the process.
    Returns:
      A comma separated string of roles

  - ### getStopRoles

    List<Role> getStopRoles()
    Returns the roles allowed to stop processes/tasks.
    Returns:
      A comma separated string of roles

  - ### getReassignRoles

    List<Role> getReassignRoles()
    Returns the roles allowed to reassign tasks.
    Returns:
      A comma separated string of roles

  - ### getDeployedOn

    Long getDeployedOn()
    Returns the time the workflow was last deployed on
    Returns:
      the timestamp of last deployment in UTC time standard

  - ### getGuardrailsValidationResult

    GuardrailsValidationResult getGuardrailsValidationResult()
    Returns the result of the guardrails validation of this workflow definition
    Returns:
      the result of the guardrails validation of this workflow definition