Class TaskServiceImpl

    • Constructor Summary

      Constructors 
      Constructor Description
      TaskServiceImpl()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addCandidateGroup​(java.lang.String taskId, java.lang.String groupId)
      void addCandidateUser​(java.lang.String taskId, java.lang.String userId)
      void addComment​(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
      Add a comment to a task and/or process instance.
      void addGroupIdentityLink​(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
      Involves a group with a task.
      void addUserIdentityLink​(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
      Involves a user with a task.
      void claim​(java.lang.String taskId, java.lang.String userId)
      Claim responsibility for a task: the given user is made assignee for the task.
      void complete​(java.lang.String taskId)
      Marks a task as done and continues process execution.
      void complete​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Marks a task as done and continues process execution.
      VariableMap completeWithVariablesInReturn​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables, boolean deserializeValues)
      Marks a task as done and continues process execution.
      Attachment createAttachment​(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.io.InputStream content)
      Add a new attachment to a task and/or a process instance and use an input stream to provide the content please use method in runtime service to operate on process instance.
      Attachment createAttachment​(java.lang.String attachmentType, java.lang.String taskId, java.lang.String processInstanceId, java.lang.String attachmentName, java.lang.String attachmentDescription, java.lang.String url)
      Add a new attachment to a task and/or a process instance and use an url as the content please use method in runtime service to operate on process instance Either taskId or processInstanceId has to be provided
      Comment createComment​(java.lang.String taskId, java.lang.String processInstance, java.lang.String message)
      Creates a comment to a task and/or process instance and returns the comment.
      NativeTaskQuery createNativeTaskQuery()
      Returns a new
      TaskQuery createTaskQuery()
      Returns a new TaskQuery that can be used to dynamically query tasks.
      TaskReport createTaskReport()
      Instantiate a task report
      void delegateTask​(java.lang.String taskId, java.lang.String userId)
      Delegates the task to another user.
      void deleteAttachment​(java.lang.String attachmentId)
      Delete an attachment
      void deleteCandidateGroup​(java.lang.String taskId, java.lang.String groupId)
      void deleteCandidateUser​(java.lang.String taskId, java.lang.String userId)
      void deleteGroupIdentityLink​(java.lang.String taskId, java.lang.String groupId, java.lang.String identityLinkType)
      Removes the association between a group and a task for the given identityLinkType.
      void deleteTask​(java.lang.String taskId)
      Deletes the given task, not deleting historic information that is related to this task.
      void deleteTask​(java.lang.String taskId, boolean cascade)
      Deletes the given task.
      void deleteTask​(java.lang.String taskId, java.lang.String deleteReason)
      Deletes the given task, not deleting historic information that is related to this task.
      void deleteTaskAttachment​(java.lang.String taskId, java.lang.String attachmentId)
      Delete an attachment to the given task id and attachment id
      void deleteTasks​(java.util.Collection<java.lang.String> taskIds)
      Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
      void deleteTasks​(java.util.Collection<java.lang.String> taskIds, boolean cascade)
      Deletes all tasks of the given collection.
      void deleteTasks​(java.util.Collection<java.lang.String> taskIds, java.lang.String deleteReason)
      Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
      void deleteUserIdentityLink​(java.lang.String taskId, java.lang.String userId, java.lang.String identityLinkType)
      Removes the association between a user and a task for the given identityLinkType.
      Attachment getAttachment​(java.lang.String attachmentId)
      Retrieve a particular attachment
      java.io.InputStream getAttachmentContent​(java.lang.String attachmentId)
      Retrieve stream content of a particular attachment
      java.util.List<IdentityLink> getIdentityLinksForTask​(java.lang.String taskId)
      Retrieves the IdentityLinks associated with the given task.
      java.util.List<Attachment> getProcessInstanceAttachments​(java.lang.String processInstanceId)
      The list of attachments associated to a process instance
      java.util.List<Comment> getProcessInstanceComments​(java.lang.String processInstanceId)
      The comments related to the given process instance.
      java.util.List<Task> getSubTasks​(java.lang.String parentTaskId)
      The list of subtasks for this parent task
      Attachment getTaskAttachment​(java.lang.String taskId, java.lang.String attachmentId)
      Retrieve a particular attachment to the given task id and attachment id
      java.io.InputStream getTaskAttachmentContent​(java.lang.String taskId, java.lang.String attachmentId)
      Retrieve stream content of a particular attachment to the given task id and attachment id
      java.util.List<Attachment> getTaskAttachments​(java.lang.String taskId)
      The list of attachments associated to a task
      Comment getTaskComment​(java.lang.String taskId, java.lang.String commentId)
      Retrieve a particular task comment
      java.util.List<Comment> getTaskComments​(java.lang.String taskId)
      The comments related to the given task.
      java.util.List<Event> getTaskEvents​(java.lang.String taskId)
      The all events related to the given task.
      java.lang.Object getVariable​(java.lang.String taskId, java.lang.String variableName)
      Get a variables and search in the task scope and if available also the execution scopes.
      java.lang.Object getVariableLocal​(java.lang.String taskId, java.lang.String variableName)
      Get a variables and only search in the task scope.
      <T extends TypedValue>
      T
      getVariableLocalTyped​(java.lang.String taskId, java.lang.String variableName)
      Get a variables and only search in the task scope.
      <T extends TypedValue>
      T
      getVariableLocalTyped​(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
      Get a variables and only search in the task scope.
      VariableMap getVariables​(java.lang.String taskId)
      Get all variables and search in the task scope and if available also the execution scopes.
      VariableMap getVariables​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      Get values for all given variableNames
      VariableMap getVariablesLocal​(java.lang.String taskId)
      Get all variables and search only in the task scope.
      VariableMap getVariablesLocal​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      Get a variable on a task
      VariableMap getVariablesLocalTyped​(java.lang.String taskId)
      Get all variables and search only in the task scope.
      VariableMap getVariablesLocalTyped​(java.lang.String taskId, boolean deserializeValues)
      Get all variables and search only in the task scope.
      VariableMap getVariablesLocalTyped​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
      Get values for all given variableName.
      VariableMap getVariablesTyped​(java.lang.String taskId)
      Get all variables and search in the task scope and if available also the execution scopes.
      VariableMap getVariablesTyped​(java.lang.String taskId, boolean deserializeValues)
      Get all variables and search in the task scope and if available also the execution scopes.
      VariableMap getVariablesTyped​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames, boolean deserializeValues)
      Get values for all given variableName
      <T extends TypedValue>
      T
      getVariableTyped​(java.lang.String taskId, java.lang.String variableName)
      Get a variables and search in the task scope and if available also the execution scopes.
      <T extends TypedValue>
      T
      getVariableTyped​(java.lang.String taskId, java.lang.String variableName, boolean deserializeValue)
      Get a variables and search in the task scope and if available also the execution scopes.
      protected <T extends TypedValue>
      T
      getVariableTyped​(java.lang.String taskId, java.lang.String variableName, boolean isLocal, boolean deserializeValue)  
      void handleBpmnError​(java.lang.String taskId, java.lang.String errorCode)
      Signals that a business error appears, which should be handled by the process engine.
      void handleBpmnError​(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage)  
      void handleBpmnError​(java.lang.String taskId, java.lang.String errorCode, java.lang.String errorMessage, java.util.Map<java.lang.String,​java.lang.Object> variables)  
      void handleEscalation​(java.lang.String taskId, java.lang.String escalationCode)
      Signals that an escalation appears, which should be handled by the process engine.
      void handleEscalation​(java.lang.String taskId, java.lang.String escalationCode, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Signals that an escalation appears, which should be handled by the process engine.
      Task newTask()
      Creates a new task that is not related to any process instance.
      Task newTask​(java.lang.String taskId)
      create a new task with a user defined task id
      void removeVariable​(java.lang.String taskId, java.lang.String variableName)
      Removes the variable from the task.
      void removeVariableLocal​(java.lang.String taskId, java.lang.String variableName)
      Removes the variable from the task (not considering parent scopes).
      void removeVariables​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      Removes all variables in the given collection from the task.
      void removeVariablesLocal​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      Removes all variables in the given collection from the task (not considering parent scopes).
      void resolveTask​(java.lang.String taskId)
      Marks that the assignee is done with the task delegated to her and that it can be sent back to the owner.
      void resolveTask​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Marks that the assignee is done with the task delegated to her and that it can be sent back to the owner with the provided variables.
      void saveAttachment​(Attachment attachment)
      Update the name and decription of an attachment
      void saveTask​(Task task)
      Saves the given task to the persistent data store.
      void setAssignee​(java.lang.String taskId, java.lang.String userId)
      Changes the assignee of the given task to the given userId.
      void setOwner​(java.lang.String taskId, java.lang.String userId)
      Transfers ownership of this task to another user.
      void setPriority​(java.lang.String taskId, int priority)
      Changes the priority of the task.
      void setVariable​(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
      Set variable on a task.
      void setVariableLocal​(java.lang.String taskId, java.lang.String variableName, java.lang.Object value)
      Set variable on a task.
      void setVariables​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
      Set variables on a task.
      protected void setVariables​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables, boolean local)  
      void setVariablesLocal​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
      Set variables on a task.
      void updateVariables​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)  
      protected void updateVariables​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions, boolean local)  
      void updateVariablesLocal​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> modifications, java.util.Collection<java.lang.String> deletions)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TaskServiceImpl

        public TaskServiceImpl()
    • Method Detail

      • newTask

        public Task newTask​(java.lang.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​(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.
      • deleteTask

        public void deleteTask​(java.lang.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​(java.util.Collection<java.lang.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​(java.lang.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​(java.util.Collection<java.lang.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​(java.lang.String taskId,
                               java.lang.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​(java.util.Collection<java.lang.String> taskIds,
                                java.lang.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​(java.lang.String taskId,
                                java.lang.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​(java.lang.String taskId,
                             java.lang.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.
      • addUserIdentityLink

        public void addUserIdentityLink​(java.lang.String taskId,
                                        java.lang.String userId,
                                        java.lang.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​(java.lang.String taskId,
                                         java.lang.String groupId,
                                         java.lang.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).
      • deleteGroupIdentityLink

        public void deleteGroupIdentityLink​(java.lang.String taskId,
                                            java.lang.String groupId,
                                            java.lang.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​(java.lang.String taskId,
                                           java.lang.String userId,
                                           java.lang.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 java.util.List<IdentityLink> getIdentityLinksForTask​(java.lang.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​(java.lang.String taskId,
                          java.lang.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.
      • complete

        public void complete​(java.lang.String taskId)
        Description copied from interface: TaskService
        Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by the assignee.
        Specified by:
        complete in interface TaskService
        Parameters:
        taskId - the id of the task to complete, cannot be null.
      • complete

        public void complete​(java.lang.String taskId,
                             java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: TaskService
        Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by the assignee and the required task parameters have been provided.
        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.
      • completeWithVariablesInReturn

        public VariableMap completeWithVariablesInReturn​(java.lang.String taskId,
                                                         java.util.Map<java.lang.String,​java.lang.Object> variables,
                                                         boolean deserializeValues)
        Description copied from interface: TaskService
        Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by the assignee and the required task parameters have been provided.
        Specified by:
        completeWithVariablesInReturn in interface TaskService
        Parameters:
        taskId - the id of the task to complete, cannot be null.
        variables - task parameters. May be null or empty.
        deserializeValues - if false, returned SerializableValues will not be deserialized (unless they are passed into this method as a deserialized value or if the BPMN process triggers deserialization)
        Returns:
        All task variables with their current value
      • delegateTask

        public void delegateTask​(java.lang.String taskId,
                                 java.lang.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. The new assignee must use TaskService.resolveTask(String) to report back to the owner. Only the owner can complete 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.
      • setPriority

        public void setPriority​(java.lang.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.
      • getVariablesTyped

        public VariableMap getVariablesTyped​(java.lang.String taskId,
                                             boolean deserializeValues)
        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:
        getVariablesTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        deserializeValues - if false, SerializableValues will not be deserialized.
      • getVariables

        public VariableMap getVariables​(java.lang.String taskId,
                                        java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: TaskService
        Get values for all given variableNames
        Specified by:
        getVariables in interface TaskService
      • getVariablesTyped

        public VariableMap getVariablesTyped​(java.lang.String taskId,
                                             java.util.Collection<java.lang.String> variableNames,
                                             boolean deserializeValues)
        Description copied from interface: TaskService
        Get values for all given variableName
        Specified by:
        getVariablesTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableNames - only fetch variables whose names are in the collection.
        deserializeValues - if false, SerializableValues will not be deserialized.
      • getVariablesLocal

        public VariableMap getVariablesLocal​(java.lang.String taskId,
                                             java.util.Collection<java.lang.String> variableNames)
        Description copied from interface: TaskService
        Get a variable on a task
        Specified by:
        getVariablesLocal in interface TaskService
      • getVariablesLocalTyped

        public VariableMap getVariablesLocalTyped​(java.lang.String taskId,
                                                  java.util.Collection<java.lang.String> variableNames,
                                                  boolean deserializeValues)
        Description copied from interface: TaskService
        Get values for all given variableName. Only search in the local task scope.
        Specified by:
        getVariablesLocalTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableNames - only fetch variables whose names are in the collection.
        deserializeValues - if false, SerializableValues will not be deserialized.
      • getVariable

        public java.lang.Object getVariable​(java.lang.String taskId,
                                            java.lang.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
      • getVariableLocal

        public java.lang.Object getVariableLocal​(java.lang.String taskId,
                                                 java.lang.String variableName)
        Description copied from interface: TaskService
        Get a variables and only search in the task scope.
        Specified by:
        getVariableLocal in interface TaskService
      • getVariableTyped

        public <T extends TypedValue> T getVariableTyped​(java.lang.String taskId,
                                                         java.lang.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:
        getVariableTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableName - the name of the variable to fetch
        Returns:
        the TypedValue for the variable or 'null' in case no such variable exists.
      • getVariableTyped

        public <T extends TypedValue> T getVariableTyped​(java.lang.String taskId,
                                                         java.lang.String variableName,
                                                         boolean deserializeValue)
        Description copied from interface: TaskService
        Get a variables and search in the task scope and if available also the execution scopes.
        Specified by:
        getVariableTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableName - the name of the variable to fetch
        deserializeValue - if false a, SerializableValue will not be deserialized.
        Returns:
        the TypedValue for the variable or 'null' in case no such variable exists.
      • getVariableLocalTyped

        public <T extends TypedValue> T getVariableLocalTyped​(java.lang.String taskId,
                                                              java.lang.String variableName)
        Description copied from interface: TaskService
        Get a variables and only search in the task scope.
        Specified by:
        getVariableLocalTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableName - the name of the variable to fetch
        Returns:
        the TypedValue for the variable or 'null' in case no such variable exists.
      • getVariableLocalTyped

        public <T extends TypedValue> T getVariableLocalTyped​(java.lang.String taskId,
                                                              java.lang.String variableName,
                                                              boolean deserializeValue)
        Description copied from interface: TaskService
        Get a variables and only search in the task scope.
        Specified by:
        getVariableLocalTyped in interface TaskService
        Parameters:
        taskId - the id of the task
        variableName - the name of the variable to fetch
        deserializeValue - if false a, SerializableValue will not be deserialized.
        Returns:
        the TypedValue for the variable or 'null' in case no such variable exists.
      • getVariableTyped

        protected <T extends TypedValue> T getVariableTyped​(java.lang.String taskId,
                                                            java.lang.String variableName,
                                                            boolean isLocal,
                                                            boolean deserializeValue)
      • setVariable

        public void setVariable​(java.lang.String taskId,
                                java.lang.String variableName,
                                java.lang.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​(java.lang.String taskId,
                                     java.lang.String variableName,
                                     java.lang.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​(java.lang.String taskId,
                                 java.util.Map<java.lang.String,​? extends java.lang.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​(java.lang.String taskId,
                                      java.util.Map<java.lang.String,​? extends java.lang.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
      • setVariables

        protected void setVariables​(java.lang.String taskId,
                                    java.util.Map<java.lang.String,​? extends java.lang.Object> variables,
                                    boolean local)
      • updateVariablesLocal

        public void updateVariablesLocal​(java.lang.String taskId,
                                         java.util.Map<java.lang.String,​? extends java.lang.Object> modifications,
                                         java.util.Collection<java.lang.String> deletions)
      • updateVariables

        public void updateVariables​(java.lang.String taskId,
                                    java.util.Map<java.lang.String,​? extends java.lang.Object> modifications,
                                    java.util.Collection<java.lang.String> deletions)
      • updateVariables

        protected void updateVariables​(java.lang.String taskId,
                                       java.util.Map<java.lang.String,​? extends java.lang.Object> modifications,
                                       java.util.Collection<java.lang.String> deletions,
                                       boolean local)
      • removeVariable

        public void removeVariable​(java.lang.String taskId,
                                   java.lang.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​(java.lang.String taskId,
                                        java.lang.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​(java.lang.String taskId,
                                    java.util.Collection<java.lang.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​(java.lang.String taskId,
                                         java.util.Collection<java.lang.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 void addComment​(java.lang.String taskId,
                               java.lang.String processInstance,
                               java.lang.String message)
        Description copied from interface: TaskService
        Add a comment to a task and/or process instance.
        Specified by:
        addComment in interface TaskService
      • createComment

        public Comment createComment​(java.lang.String taskId,
                                     java.lang.String processInstance,
                                     java.lang.String message)
        Description copied from interface: TaskService
        Creates a comment to a task and/or process instance and returns the comment.
        Specified by:
        createComment in interface TaskService
      • getTaskComments

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

        public Comment getTaskComment​(java.lang.String taskId,
                                      java.lang.String commentId)
        Description copied from interface: TaskService
        Retrieve a particular task comment
        Specified by:
        getTaskComment in interface TaskService
      • getTaskEvents

        public java.util.List<Event> getTaskEvents​(java.lang.String taskId)
        Description copied from interface: TaskService

        The all events related to the given task.

        As of Camunda Platform 7.4 task events are only written in context of a logged in user. This behavior can be toggled in the process engine configuration using the property legacyUserOperationLog (default false). To restore the engine's previous behavior, set the flag to true.

        Specified by:
        getTaskEvents in interface TaskService
        See Also:
        HistoryService.createUserOperationLogQuery()
      • getProcessInstanceComments

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

        public Attachment createAttachment​(java.lang.String attachmentType,
                                           java.lang.String taskId,
                                           java.lang.String processInstanceId,
                                           java.lang.String attachmentName,
                                           java.lang.String attachmentDescription,
                                           java.io.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 please use method in runtime service to operate on process instance. Either taskId or processInstanceId has to be provided
        Specified by:
        createAttachment in interface TaskService
        Parameters:
        attachmentType - - name of the attachment, can be null
        taskId - - task that should have an attachment
        processInstanceId - - id of a process to use if task id is null
        attachmentName - - name of the attachment, can be null
        attachmentDescription - - full text description, can be null
        content - - byte array with content of attachment
      • createAttachment

        public Attachment createAttachment​(java.lang.String attachmentType,
                                           java.lang.String taskId,
                                           java.lang.String processInstanceId,
                                           java.lang.String attachmentName,
                                           java.lang.String attachmentDescription,
                                           java.lang.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 please use method in runtime service to operate on process instance Either taskId or processInstanceId has to be provided
        Specified by:
        createAttachment in interface TaskService
        Parameters:
        attachmentType - - name of the attachment, can be null
        taskId - - task that should have an attachment
        processInstanceId - - id of a process to use if task id is null
        attachmentName - - name of the attachment, can be null
        attachmentDescription - - full text description, can be null
        url - - url of the attachment, can be null
      • getAttachmentContent

        public java.io.InputStream getAttachmentContent​(java.lang.String attachmentId)
        Description copied from interface: TaskService
        Retrieve stream content of a particular attachment
        Specified by:
        getAttachmentContent in interface TaskService
      • getTaskAttachmentContent

        public java.io.InputStream getTaskAttachmentContent​(java.lang.String taskId,
                                                            java.lang.String attachmentId)
        Description copied from interface: TaskService
        Retrieve stream content of a particular attachment to the given task id and attachment id
        Specified by:
        getTaskAttachmentContent in interface TaskService
      • deleteAttachment

        public void deleteAttachment​(java.lang.String attachmentId)
        Description copied from interface: TaskService
        Delete an attachment
        Specified by:
        deleteAttachment in interface TaskService
      • deleteTaskAttachment

        public void deleteTaskAttachment​(java.lang.String taskId,
                                         java.lang.String attachmentId)
        Description copied from interface: TaskService
        Delete an attachment to the given task id and attachment id
        Specified by:
        deleteTaskAttachment in interface TaskService
      • getTaskAttachment

        public Attachment getTaskAttachment​(java.lang.String taskId,
                                            java.lang.String attachmentId)
        Description copied from interface: TaskService
        Retrieve a particular attachment to the given task id and attachment id
        Specified by:
        getTaskAttachment in interface TaskService
      • getTaskAttachments

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

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

        public java.util.List<Task> getSubTasks​(java.lang.String parentTaskId)
        Description copied from interface: TaskService
        The list of subtasks for this parent task
        Specified by:
        getSubTasks in interface TaskService
      • handleBpmnError

        public void handleBpmnError​(java.lang.String taskId,
                                    java.lang.String errorCode)
        Description copied from interface: TaskService
        Signals that a business error appears, which should be handled by the process engine.
        Specified by:
        handleBpmnError in interface TaskService
        Parameters:
        taskId - the id of an existing active task
        errorCode - the error code of the corresponding bmpn error
      • handleBpmnError

        public void handleBpmnError​(java.lang.String taskId,
                                    java.lang.String errorCode,
                                    java.lang.String errorMessage)
        Specified by:
        handleBpmnError in interface TaskService
        Parameters:
        taskId - the id of an existing active task
        errorCode - the error code of the corresponding bmpn error
        errorMessage - the error message of the corresponding bmpn error
        See Also:
        TaskService.handleBpmnError(String, String)
      • handleBpmnError

        public void handleBpmnError​(java.lang.String taskId,
                                    java.lang.String errorCode,
                                    java.lang.String errorMessage,
                                    java.util.Map<java.lang.String,​java.lang.Object> variables)
        Specified by:
        handleBpmnError in interface TaskService
        Parameters:
        taskId - the id of an existing active task
        errorCode - the error code of the corresponding bmpn error
        errorMessage - the error message of the corresponding bmpn error
        variables - the variables to pass to the execution
        See Also:
        TaskService.handleBpmnError(String, String)
      • handleEscalation

        public void handleEscalation​(java.lang.String taskId,
                                     java.lang.String escalationCode)
        Description copied from interface: TaskService
        Signals that an escalation appears, which should be handled by the process engine.
        Specified by:
        handleEscalation in interface TaskService
        Parameters:
        taskId - the id of an existing active task
        escalationCode - the escalation code of the corresponding escalation
      • handleEscalation

        public void handleEscalation​(java.lang.String taskId,
                                     java.lang.String escalationCode,
                                     java.util.Map<java.lang.String,​java.lang.Object> variables)
        Description copied from interface: TaskService
        Signals that an escalation appears, which should be handled by the process engine.
        Specified by:
        handleEscalation in interface TaskService
        Parameters:
        taskId - the id of an existing active task
        escalationCode - the escalation code of the corresponding escalation
        variables - the variables to pass to the execution