Class TaskServiceImpl

java.lang.Object
org.flowable.common.engine.impl.service.CommonServiceImpl<C>
org.flowable.common.engine.impl.service.CommonEngineServiceImpl<org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl>
org.flowable.engine.impl.TaskServiceImpl
All Implemented Interfaces:
TaskService

public class TaskServiceImpl extends org.flowable.common.engine.impl.service.CommonEngineServiceImpl<org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl> implements TaskService
Author:
Tom Baeyens, Joram Barrez
  • Constructor Details

    • TaskServiceImpl

      public TaskServiceImpl(org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl processEngineConfiguration)
  • Method Details

    • newTask

      public org.flowable.task.api.Task newTask()
      Description copied from interface: TaskService
      Creates a new task that is not related to any process instance. The returned task is transient and must be saved with TaskService.saveTask(Task) 'manually'.
      Specified by:
      newTask in interface TaskService
    • newTask

      public org.flowable.task.api.Task newTask(String taskId)
      Description copied from interface: TaskService
      create a new task with a user defined task id
      Specified by:
      newTask in interface TaskService
    • saveTask

      public void saveTask(org.flowable.task.api.Task task)
      Description copied from interface: TaskService
      Saves the given task to the persistent data store. If the task is already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.
      Specified by:
      saveTask in interface TaskService
      Parameters:
      task - the task, cannot be null.
    • bulkSaveTasks

      public void bulkSaveTasks(Collection<org.flowable.task.api.Task> taskList)
      Description copied from interface: TaskService
      Saves the given tasks to the persistent data store. If the tasks are already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.
      Specified by:
      bulkSaveTasks in interface TaskService
      Parameters:
      taskList - the list of task instances, cannot be null.
    • deleteTask

      public void deleteTask(String taskId)
      Description copied from interface: TaskService
      Deletes the given task, not deleting historic information that is related to this task.
      Specified by:
      deleteTask in interface TaskService
      Parameters:
      taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
    • deleteTasks

      public void deleteTasks(Collection<String> taskIds)
      Description copied from interface: TaskService
      Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
      Specified by:
      deleteTasks in interface TaskService
      Parameters:
      taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
    • deleteTask

      public void deleteTask(String taskId, boolean cascade)
      Description copied from interface: TaskService
      Deletes the given task.
      Specified by:
      deleteTask in interface TaskService
      Parameters:
      taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
      cascade - If cascade is true, also the historic information related to this task is deleted.
    • deleteTasks

      public void deleteTasks(Collection<String> taskIds, boolean cascade)
      Description copied from interface: TaskService
      Deletes all tasks of the given collection.
      Specified by:
      deleteTasks in interface TaskService
      Parameters:
      taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
      cascade - If cascade is true, also the historic information related to this task is deleted.
    • deleteTask

      public void deleteTask(String taskId, String deleteReason)
      Description copied from interface: TaskService
      Deletes the given task, not deleting historic information that is related to this task..
      Specified by:
      deleteTask in interface TaskService
      Parameters:
      taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
      deleteReason - reason the task is deleted. Is recorded in history, if enabled.
    • deleteTasks

      public void deleteTasks(Collection<String> taskIds, String deleteReason)
      Description copied from interface: TaskService
      Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
      Specified by:
      deleteTasks in interface TaskService
      Parameters:
      taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
      deleteReason - reason the task is deleted. Is recorded in history, if enabled.
    • setAssignee

      public void setAssignee(String taskId, String userId)
      Description copied from interface: TaskService
      Changes the assignee of the given task to the given userId. No check is done whether the user is known by the identity component.
      Specified by:
      setAssignee in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user to use as assignee.
    • setOwner

      public void setOwner(String taskId, String userId)
      Description copied from interface: TaskService
      Transfers ownership of this task to another user. No check is done whether the user is known by the identity component.
      Specified by:
      setOwner in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - of the person that is receiving ownership.
    • addCandidateUser

      public void addCandidateUser(String taskId, String userId)
      Description copied from interface: TaskService
      Convenience shorthand for TaskService.addUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
      Specified by:
      addCandidateUser in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user to use as candidate, cannot be null.
    • addCandidateGroup

      public void addCandidateGroup(String taskId, String groupId)
      Description copied from interface: TaskService
      Convenience shorthand for TaskService.addGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
      Specified by:
      addCandidateGroup in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      groupId - id of the group to use as candidate, cannot be null.
    • addUserIdentityLink

      public void addUserIdentityLink(String taskId, String userId, String identityLinkType)
      Description copied from interface: TaskService
      Involves a user with a task. The type of identity link is defined by the given identityLinkType.
      Specified by:
      addUserIdentityLink in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user involve, cannot be null.
      identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).
    • addGroupIdentityLink

      public void addGroupIdentityLink(String taskId, String groupId, String identityLinkType)
      Description copied from interface: TaskService
      Involves a group with a task. The type of identityLink is defined by the given identityLink.
      Specified by:
      addGroupIdentityLink in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      groupId - id of the group to involve, cannot be null.
      identityLinkType - type of identity, cannot be null (@see IdentityLinkType).
    • deleteCandidateGroup

      public void deleteCandidateGroup(String taskId, String groupId)
      Description copied from interface: TaskService
      Convenience shorthand for TaskService.deleteGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
      Specified by:
      deleteCandidateGroup in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      groupId - id of the group to use as candidate, cannot be null.
    • deleteCandidateUser

      public void deleteCandidateUser(String taskId, String userId)
      Description copied from interface: TaskService
      Convenience shorthand for TaskService.deleteUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
      Specified by:
      deleteCandidateUser in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user to use as candidate, cannot be null.
    • deleteGroupIdentityLink

      public void deleteGroupIdentityLink(String taskId, String groupId, String identityLinkType)
      Description copied from interface: TaskService
      Removes the association between a group and a task for the given identityLinkType.
      Specified by:
      deleteGroupIdentityLink in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      groupId - id of the group to involve, cannot be null.
      identityLinkType - type of identity, cannot be null (@see IdentityLinkType).
    • deleteUserIdentityLink

      public void deleteUserIdentityLink(String taskId, String userId, String identityLinkType)
      Description copied from interface: TaskService
      Removes the association between a user and a task for the given identityLinkType.
      Specified by:
      deleteUserIdentityLink in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      userId - id of the user involve, cannot be null.
      identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).
    • getIdentityLinksForTask

      public List<org.flowable.identitylink.api.IdentityLink> getIdentityLinksForTask(String taskId)
      Description copied from interface: TaskService
      Retrieves the IdentityLinks associated with the given task. Such an IdentityLink informs how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.)
      Specified by:
      getIdentityLinksForTask in interface TaskService
    • claim

      public void claim(String taskId, String userId)
      Description copied from interface: TaskService
      Claim responsibility for a task: the given user is made assignee for the task. The difference with TaskService.setAssignee(String, String) is that here a check is done if the task already has a user assigned to it. No check is done whether the user is known by the identity component.
      Specified by:
      claim in interface TaskService
      Parameters:
      taskId - task to claim, cannot be null.
      userId - user that claims the task. When userId is null the task is unclaimed, assigned to no one.
    • unclaim

      public void unclaim(String taskId)
      Description copied from interface: TaskService
      A shortcut to TaskService.claim(java.lang.String, java.lang.String) with null user in order to unclaim the task
      Specified by:
      unclaim in interface TaskService
      Parameters:
      taskId - task to unclaim, cannot be null.
    • startProgress

      public void startProgress(String taskId, String userId)
      Description copied from interface: TaskService
      Set the task state to in progress. No check is done whether the user is known by the identity component.
      Specified by:
      startProgress in interface TaskService
      Parameters:
      taskId - task to change the state, cannot be null.
      userId - user that puts the task in progress.
    • suspendTask

      public void suspendTask(String taskId, String userId)
      Description copied from interface: TaskService
      Suspends the task. No check is done whether the user is known by the identity component.
      Specified by:
      suspendTask in interface TaskService
      Parameters:
      taskId - task to suspend, cannot be null.
      userId - user that suspends the task.
    • activateTask

      public void activateTask(String taskId, String userId)
      Description copied from interface: TaskService
      Activates the task. No check is done whether the user is known by the identity component.
      Specified by:
      activateTask in interface TaskService
      Parameters:
      taskId - task to activate, cannot be null.
      userId - user that activates the task.
    • complete

      public void complete(String taskId)
      Description copied from interface: TaskService
      Called when the task is successfully executed.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
    • complete

      public void complete(String taskId, String userId)
      Description copied from interface: TaskService
      Called when the task is successfully executed.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      userId - user that completes the task.
    • complete

      public void complete(String taskId, Map<String,Object> variables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      variables - task parameters. May be null or empty.
    • complete

      public void complete(String taskId, String userId, Map<String,Object> variables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      userId - user that completes the task.
      variables - task parameters. May be null or empty.
    • complete

      public void complete(String taskId, Map<String,Object> variables, Map<String,Object> transientVariables)
      Description copied from interface: TaskService
      Similar to TaskService.complete(String, Map), but allows to set transient variables too.
      Specified by:
      complete in interface TaskService
    • complete

      public void complete(String taskId, String userId, Map<String,Object> variables, Map<String,Object> transientVariables)
      Description copied from interface: TaskService
      Similar to TaskService.complete(String, String, Map), but allows to set transient variables too.
      Specified by:
      complete in interface TaskService
    • complete

      public void complete(String taskId, Map<String,Object> variables, boolean localScope)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      variables - task parameters. May be null or empty.
      localScope - If true, the provided variables will be stored task-local, instead of process instance wide (which is the default for TaskService.complete(String, Map)).
    • complete

      public void complete(String taskId, String userId, Map<String,Object> variables, boolean localScope)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      Specified by:
      complete in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      userId - user that completes the task.
      variables - task parameters. May be null or empty.
      localScope - If true, the provided variables will be stored task-local, instead of process instance wide (which is the default for TaskService.complete(String, Map)).
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String,Object> variables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      variables - values of the completed form. May be null or empty.
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String,Object> variables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      userId - user that completes the task.
      variables - values of the completed form. May be null or empty.
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String,Object> variables, Map<String,Object> transientVariables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      variables - values of the completed form. May be null or empty.
      transientVariables - additional transient values that need to added to the process instance transient variables. May be null or empty.
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String,Object> variables, Map<String,Object> transientVariables)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      userId - user that completes the task.
      variables - values of the completed form. May be null or empty.
      transientVariables - additional transient values that need to added to the process instance transient variables. May be null or empty.
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String,Object> variables, boolean localScope)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      variables - values of the completed form. May be null or empty.
      localScope - If true, the provided variables will be stored task-local, instead of process instance wide (which is the default for TaskService.complete(String, Map)).
    • completeTaskWithForm

      public void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String,Object> variables, boolean localScope)
      Description copied from interface: TaskService
      Called when the task is successfully executed, and the task form has been submitted.
      Specified by:
      completeTaskWithForm in interface TaskService
      Parameters:
      taskId - the id of the task to complete, cannot be null.
      formDefinitionId - the id of the form definition that is filled-in to complete the task, cannot be null.
      outcome - the outcome of the completed form, can be null.
      userId - user that completes the task.
      variables - values of the completed form. May be null or empty.
      localScope - If true, the provided variables will be stored task-local, instead of process instance wide (which is the default for TaskService.complete(String, Map)).
    • getTaskFormModel

      public org.flowable.form.api.FormInfo getTaskFormModel(String taskId)
      Description copied from interface: TaskService
      Gets a Form model instance of the task form of a specific task
      Specified by:
      getTaskFormModel in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
    • getTaskFormModel

      public org.flowable.form.api.FormInfo getTaskFormModel(String taskId, boolean ignoreVariables)
      Description copied from interface: TaskService
      Gets a Form model instance of the task form of a specific task without any variable handling
      Specified by:
      getTaskFormModel in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      ignoreVariables - should the variables be ignored when fetching the form model?
    • delegateTask

      public void delegateTask(String taskId, String userId)
      Description copied from interface: TaskService
      Delegates the task to another user. This means that the assignee is set and the delegation state is set to DelegationState.PENDING. If no owner is set on the task, the owner is set to the current assignee of the task.
      Specified by:
      delegateTask in interface TaskService
      Parameters:
      taskId - The id of the task that will be delegated.
      userId - The id of the user that will be set as assignee.
    • resolveTask

      public void resolveTask(String taskId)
      Description copied from interface: TaskService
      Marks that the assignee is done with this task and that it can be send back to the owner. Can only be called when this task is DelegationState.PENDING delegation. After this method returns, the delegationState is set to DelegationState.RESOLVED.
      Specified by:
      resolveTask in interface TaskService
      Parameters:
      taskId - the id of the task to resolve, cannot be null.
    • resolveTask

      public void resolveTask(String taskId, Map<String,Object> variables)
      Description copied from interface: TaskService
      Marks that the assignee is done with this task providing the required variables and that it can be sent back to the owner. Can only be called when this task is DelegationState.PENDING delegation. After this method returns, the delegationState is set to DelegationState.RESOLVED.
      Specified by:
      resolveTask in interface TaskService
    • resolveTask

      public void resolveTask(String taskId, Map<String,Object> variables, Map<String,Object> transientVariables)
      Description copied from interface: TaskService
      Similar to TaskService.resolveTask(String, Map), but allows to set transient variables too.
      Specified by:
      resolveTask in interface TaskService
    • setPriority

      public void setPriority(String taskId, int priority)
      Description copied from interface: TaskService
      Changes the priority of the task. Authorization: actual owner / business admin
      Specified by:
      setPriority in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      priority - the new priority for the task.
    • setDueDate

      public void setDueDate(String taskId, Date dueDate)
      Description copied from interface: TaskService
      Changes the due date of the task
      Specified by:
      setDueDate in interface TaskService
      Parameters:
      taskId - id of the task, cannot be null.
      dueDate - the new due date for the task
    • createTaskQuery

      public org.flowable.task.api.TaskQuery createTaskQuery()
      Description copied from interface: TaskService
      Returns a new TaskQuery that can be used to dynamically query tasks.
      Specified by:
      createTaskQuery in interface TaskService
    • createNativeTaskQuery

      public org.flowable.task.api.NativeTaskQuery createNativeTaskQuery()
      Description copied from interface: TaskService
      Returns a new NativeQuery for tasks.
      Specified by:
      createNativeTaskQuery in interface TaskService
    • getVariables

      public Map<String,Object> getVariables(String taskId)
      Description copied from interface: TaskService
      get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider using TaskService.getVariables(String, Collection) for better performance.
      Specified by:
      getVariables in interface TaskService
    • getVariablesLocal

      public Map<String,Object> getVariablesLocal(String taskId)
      Description copied from interface: TaskService
      get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider using TaskService.getVariablesLocal(String, Collection) for better performance.
      Specified by:
      getVariablesLocal in interface TaskService
    • getVariables

      public Map<String,Object> getVariables(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      get values for all given variableNames and search only in the task scope.
      Specified by:
      getVariables in interface TaskService
    • getVariablesLocal

      public Map<String,Object> getVariablesLocal(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      get a variable on a task
      Specified by:
      getVariablesLocal in interface TaskService
    • getVariable

      public Object getVariable(String taskId, String variableName)
      Description copied from interface: TaskService
      get a variables and search in the task scope and if available also the execution scopes.
      Specified by:
      getVariable in interface TaskService
    • getVariable

      public <T> T getVariable(String taskId, String variableName, Class<T> variableClass)
      Description copied from interface: TaskService
      get a variables and search in the task scope and if available also the execution scopes.
      Specified by:
      getVariable in interface TaskService
    • hasVariable

      public boolean hasVariable(String taskId, String variableName)
      Description copied from interface: TaskService
      checks whether or not the task has a variable defined with the given name, in the task scope and if available also the execution scopes.
      Specified by:
      hasVariable in interface TaskService
    • getVariableLocal

      public Object getVariableLocal(String taskId, String variableName)
      Description copied from interface: TaskService
      checks whether or not the task has a variable defined with the given name.
      Specified by:
      getVariableLocal in interface TaskService
    • getVariableLocal

      public <T> T getVariableLocal(String taskId, String variableName, Class<T> variableClass)
      Description copied from interface: TaskService
      checks whether or not the task has a variable defined with the given name.
      Specified by:
      getVariableLocal in interface TaskService
    • getVariableInstancesLocalByTaskIds

      public List<org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocalByTaskIds(Set<String> taskIds)
      Description copied from interface: TaskService
      get all variables and search only in the task scope.
      Specified by:
      getVariableInstancesLocalByTaskIds in interface TaskService
    • hasVariableLocal

      public boolean hasVariableLocal(String taskId, String variableName)
      Description copied from interface: TaskService
      checks whether or not the task has a variable defined with the given name, local task scope only.
      Specified by:
      hasVariableLocal in interface TaskService
    • setVariable

      public void setVariable(String taskId, String variableName, Object value)
      Description copied from interface: TaskService
      set variable on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.
      Specified by:
      setVariable in interface TaskService
    • setVariableLocal

      public void setVariableLocal(String taskId, String variableName, Object value)
      Description copied from interface: TaskService
      set variable on a task. If the variable is not already existing, it will be created in the task.
      Specified by:
      setVariableLocal in interface TaskService
    • setVariables

      public void setVariables(String taskId, Map<String,? extends Object> variables)
      Description copied from interface: TaskService
      set variables on a task. If the variable is not already existing, it will be created in the most outer scope. This means the process instance in case this task is related to an execution.
      Specified by:
      setVariables in interface TaskService
    • setVariablesLocal

      public void setVariablesLocal(String taskId, Map<String,? extends Object> variables)
      Description copied from interface: TaskService
      set variables on a task. If the variable is not already existing, it will be created in the task.
      Specified by:
      setVariablesLocal in interface TaskService
    • removeVariable

      public void removeVariable(String taskId, String variableName)
      Description copied from interface: TaskService
      Removes the variable from the task. When the variable does not exist, nothing happens.
      Specified by:
      removeVariable in interface TaskService
    • removeVariableLocal

      public void removeVariableLocal(String taskId, String variableName)
      Description copied from interface: TaskService
      Removes the variable from the task (not considering parent scopes). When the variable does not exist, nothing happens.
      Specified by:
      removeVariableLocal in interface TaskService
    • removeVariables

      public void removeVariables(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      Removes all variables in the given collection from the task. Non existing variable names are simply ignored.
      Specified by:
      removeVariables in interface TaskService
    • removeVariablesLocal

      public void removeVariablesLocal(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      Removes all variables in the given collection from the task (not considering parent scopes). Non existing variable names are simply ignored.
      Specified by:
      removeVariablesLocal in interface TaskService
    • addComment

      public Comment addComment(String taskId, String processInstance, String message)
      Description copied from interface: TaskService
      Add a comment to a task and/or process instance.
      Specified by:
      addComment in interface TaskService
    • addComment

      public Comment addComment(String taskId, String processInstance, String type, String message)
      Description copied from interface: TaskService
      Add a comment to a task and/or process instance with a custom type.
      Specified by:
      addComment in interface TaskService
    • saveComment

      public void saveComment(Comment comment)
      Description copied from interface: TaskService
      Update a comment to a task and/or process instance.
      Specified by:
      saveComment in interface TaskService
    • getComment

      public Comment getComment(String commentId)
      Description copied from interface: TaskService
      Returns an individual comment with the given id. Returns null if no comment exists with the given id.
      Specified by:
      getComment in interface TaskService
    • getEvent

      public Event getEvent(String eventId)
      Description copied from interface: TaskService
      Returns an individual event with the given id. Returns null if no event exists with the given id.
      Specified by:
      getEvent in interface TaskService
    • getTaskComments

      public List<Comment> getTaskComments(String taskId)
      Description copied from interface: TaskService
      The comments related to the given task.
      Specified by:
      getTaskComments in interface TaskService
    • getTaskComments

      public List<Comment> getTaskComments(String taskId, String type)
      Description copied from interface: TaskService
      The comments related to the given task of the given type.
      Specified by:
      getTaskComments in interface TaskService
    • getCommentsByType

      public List<Comment> getCommentsByType(String type)
      Description copied from interface: TaskService
      All comments of a given type.
      Specified by:
      getCommentsByType in interface TaskService
    • getTaskEvents

      public List<Event> getTaskEvents(String taskId)
      Description copied from interface: TaskService
      The all events related to the given task.
      Specified by:
      getTaskEvents in interface TaskService
    • getProcessInstanceComments

      public List<Comment> getProcessInstanceComments(String processInstanceId)
      Description copied from interface: TaskService
      The comments related to the given process instance.
      Specified by:
      getProcessInstanceComments in interface TaskService
    • getProcessInstanceComments

      public List<Comment> getProcessInstanceComments(String processInstanceId, String type)
      Description copied from interface: TaskService
      The comments related to the given process instance.
      Specified by:
      getProcessInstanceComments in interface TaskService
    • createAttachment

      public Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, InputStream content)
      Description copied from interface: TaskService
      Add a new attachment to a task and/or a process instance and use an input stream to provide the content
      Specified by:
      createAttachment in interface TaskService
    • createAttachment

      public Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, String url)
      Description copied from interface: TaskService
      Add a new attachment to a task and/or a process instance and use an url as the content
      Specified by:
      createAttachment in interface TaskService
    • getAttachmentContent

      public InputStream getAttachmentContent(String attachmentId)
      Description copied from interface: TaskService
      Retrieve stream content of a particular attachment
      Specified by:
      getAttachmentContent in interface TaskService
    • deleteAttachment

      public void deleteAttachment(String attachmentId)
      Description copied from interface: TaskService
      Delete an attachment
      Specified by:
      deleteAttachment in interface TaskService
    • deleteComments

      public void deleteComments(String taskId, String processInstanceId)
      Description copied from interface: TaskService
      Removes all comments from the provided task and/or process instance
      Specified by:
      deleteComments in interface TaskService
    • deleteComment

      public void deleteComment(String commentId)
      Description copied from interface: TaskService
      Removes an individual comment with the given id.
      Specified by:
      deleteComment in interface TaskService
    • getAttachment

      public Attachment getAttachment(String attachmentId)
      Description copied from interface: TaskService
      Retrieve a particular attachment
      Specified by:
      getAttachment in interface TaskService
    • getTaskAttachments

      public List<Attachment> getTaskAttachments(String taskId)
      Description copied from interface: TaskService
      The list of attachments associated to a task
      Specified by:
      getTaskAttachments in interface TaskService
    • getProcessInstanceAttachments

      public List<Attachment> getProcessInstanceAttachments(String processInstanceId)
      Description copied from interface: TaskService
      The list of attachments associated to a process instance
      Specified by:
      getProcessInstanceAttachments in interface TaskService
    • saveAttachment

      public void saveAttachment(Attachment attachment)
      Description copied from interface: TaskService
      Update the name and description of an attachment
      Specified by:
      saveAttachment in interface TaskService
    • getSubTasks

      public List<org.flowable.task.api.Task> getSubTasks(String parentTaskId)
      Description copied from interface: TaskService
      The list of subtasks for this parent task
      Specified by:
      getSubTasks in interface TaskService
    • getVariableInstance

      public org.flowable.variable.api.persistence.entity.VariableInstance getVariableInstance(String taskId, String variableName)
      Description copied from interface: TaskService
      The variable. Searching for the variable is done in all scopes that are visible to the given task (including parent scopes). Returns null when no variable value is found with the given name.
      Specified by:
      getVariableInstance in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      variableName - name of variable, cannot be null.
      Returns:
      the variable or null if the variable is undefined.
    • getVariableInstanceLocal

      public org.flowable.variable.api.persistence.entity.VariableInstance getVariableInstanceLocal(String taskId, String variableName)
      Description copied from interface: TaskService
      The variable for a task. Returns the variable when it is set for the task (and not searching parent scopes). Returns null when no variable is found with the given name.
      Specified by:
      getVariableInstanceLocal in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      variableName - name of variable, cannot be null.
      Returns:
      the variable or null if the variable is undefined.
    • getVariableInstances

      public Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstances(String taskId)
      Description copied from interface: TaskService
      All variables visible from the given task scope (including parent scopes).
      Specified by:
      getVariableInstances in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      Returns:
      the variable instances or an empty map if no such variables are found.
    • getVariableInstances

      public Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstances(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      The variable values for all given variableNames, takes all variables into account which are visible from the given task scope (including parent scopes).
      Specified by:
      getVariableInstances in interface TaskService
      Parameters:
      taskId - id of taskId, cannot be null.
      variableNames - the collection of variable names that should be retrieved.
      Returns:
      the variables or an empty map if no such variables are found.
    • getVariableInstancesLocal

      public Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocal(String taskId)
      Description copied from interface: TaskService
      All variable values that are defined in the task scope, without taking outer scopes into account. If you have many task local variables and you only need a few, consider using TaskService.getVariableInstancesLocal(String, Collection) for better performance.
      Specified by:
      getVariableInstancesLocal in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      Returns:
      the variables or an empty map if no such variables are found.
    • getVariableInstancesLocal

      public Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocal(String taskId, Collection<String> variableNames)
      Description copied from interface: TaskService
      The variable values for all given variableNames that are defined in the given task's scope. (Does not searching parent scopes).
      Specified by:
      getVariableInstancesLocal in interface TaskService
      Parameters:
      taskId - id of taskId, cannot be null.
      variableNames - the collection of variable names that should be retrieved.
      Returns:
      the variables or an empty map if no such variables are found.
    • getDataObjects

      public Map<String,DataObject> getDataObjects(String taskId)
      Description copied from interface: TaskService
      All DataObjects visible from the given execution scope (including parent scopes).
      Specified by:
      getDataObjects in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      Returns:
      the DataObjects or an empty map if no such variables are found.
    • getDataObjects

      public Map<String,DataObject> getDataObjects(String taskId, String locale, boolean withLocalizationFallback)
      Description copied from interface: TaskService
      All DataObjects visible from the given task scope (including parent scopes).
      Specified by:
      getDataObjects in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      locale - locale the DataObject name and description should be returned in (if available).
      withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
      Returns:
      the DataObjects or an empty map if no DataObjects are found.
    • getDataObjects

      public Map<String,DataObject> getDataObjects(String taskId, Collection<String> dataObjectNames)
      Description copied from interface: TaskService
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
      Specified by:
      getDataObjects in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      dataObjectNames - the collection of DataObject names that should be retrieved.
      Returns:
      the DataObject or an empty map if no DataObjects are found.
    • getDataObjects

      public Map<String,DataObject> getDataObjects(String taskId, Collection<String> dataObjectNames, String locale, boolean withLocalizationFallback)
      Description copied from interface: TaskService
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
      Specified by:
      getDataObjects in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      dataObjectNames - the collection of DataObject names that should be retrieved.
      locale - locale the DataObject name and description should be returned in (if available).
      withLocalizationFallback - When true localization will fallback to more general locales if the specified locale is not found.
      Returns:
      the DataObjects or an empty map if no such dataObjects are found.
    • getDataObject

      public DataObject getDataObject(String taskId, String dataObject)
      Description copied from interface: TaskService
      The DataObject. Searching for the DataObject is done in all scopes that are visible to the given task (including parent scopes). Returns null when no DataObject value is found with the given name.
      Specified by:
      getDataObject in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      dataObject - name of DataObject, cannot be null.
      Returns:
      the DataObject or null if the variable is undefined.
    • getDataObject

      public DataObject getDataObject(String taskId, String dataObjectName, String locale, boolean withLocalizationFallback)
      Description copied from interface: TaskService
      The DataObject. Searching for the DataObject is done in all scopes that are visible to the given task (including parent scopes). Returns null when no DataObject value is found with the given name.
      Specified by:
      getDataObject in interface TaskService
      Parameters:
      taskId - id of task, cannot be null.
      dataObjectName - name of DataObject, cannot be null.
      locale - locale the DataObject name and description should be returned in (if available).
      withLocalizationFallback - When true localization will fallback to more general locales including the default locale of the JVM if the specified locale is not found.
      Returns:
      the DataObject or null if the DataObject is undefined.
    • createTaskBuilder

      public org.flowable.task.api.TaskBuilder createTaskBuilder()
      Description copied from interface: TaskService
      Create a builder for the task
      Specified by:
      createTaskBuilder in interface TaskService
      Returns:
      task builder
    • getIdmIdentityService

      protected org.flowable.idm.api.IdmIdentityService getIdmIdentityService()
    • createTaskCompletionBuilder

      public org.flowable.task.api.TaskCompletionBuilder createTaskCompletionBuilder()
      Description copied from interface: TaskService
      Create a completion builder for the task
      Specified by:
      createTaskCompletionBuilder in interface TaskService
      Returns:
      task completion builder