Interface TaskService

  • All Known Implementing Classes:
    TaskServiceImpl

    @Internal
    public interface TaskService
    Service which provides access to Task and form related operations.
    • Method Summary

      All Methods Instance Methods Abstract 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)
      Comment addComment​(java.lang.String taskId, java.lang.String processInstanceId, java.lang.String message)
      Add a comment to a task and/or process instance.
      Comment addComment​(java.lang.String taskId, java.lang.String processInstanceId, java.lang.String type, java.lang.String message)
      Add a comment to a task and/or process instance with a custom type.
      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)
      Called when the task is successfully executed.
      void complete​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      void complete​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables, boolean localScope)
      Called when the task is successfully executed, and the required task parameters are given by the end-user.
      void complete​(java.lang.String taskId, java.util.Map<java.lang.String,​java.lang.Object> variables, java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
      Similar to complete(String, Map), but allows to set transient variables too.
      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
      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
      NativeTaskQuery createNativeTaskQuery()
      Returns a new NativeQuery for tasks.
      TaskQuery createTaskQuery()
      Returns a new TaskQuery that can be used to dynamically query tasks.
      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 deleteComment​(java.lang.String commentId)
      Removes an individual comment with the given id.
      void deleteComments​(java.lang.String taskId, java.lang.String processInstanceId)
      Removes all comments from the provided task and/or process instance
      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 deleteTask​(java.lang.String taskId, java.lang.String deleteReason, boolean cancel)
      Deletes the given task, not deleting historic information that is related to this task..
      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 deleteTasks​(java.util.Collection<java.lang.String> taskIds, java.lang.String deleteReason, boolean cancel)
      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
      Comment getComment​(java.lang.String commentId)
      Returns an individual comment with the given id.
      java.util.List<Comment> getCommentsByType​(java.lang.String type)
      All comments of a given type.
      DataObject getDataObject​(java.lang.String taskId, java.lang.String dataObject)
      The DataObject.
      DataObject getDataObject​(java.lang.String taskId, java.lang.String dataObjectName, java.lang.String locale, boolean withLocalizationFallback)
      The DataObject.
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId)
      All DataObjects visible from the given execution scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId, java.lang.String locale, boolean withLocalizationFallback)
      All DataObjects visible from the given task scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId, java.util.Collection<java.lang.String> dataObjectNames)
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
      java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId, java.util.Collection<java.lang.String> dataObjectNames, java.lang.String locale, boolean withLocalizationFallback)
      The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
      Event getEvent​(java.lang.String eventId)
      Returns an individual event with the given id.
      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<Comment> getProcessInstanceComments​(java.lang.String processInstanceId, java.lang.String type)
      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
      java.util.List<Attachment> getTaskAttachments​(java.lang.String taskId)
      The list of attachments associated to a task
      java.util.List<Comment> getTaskComments​(java.lang.String taskId)
      The comments related to the given task.
      java.util.List<Comment> getTaskComments​(java.lang.String taskId, java.lang.String type)
      The comments related to the given task of the given type.
      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.
      <T> T getVariable​(java.lang.String taskId, java.lang.String variableName, java.lang.Class<T> variableClass)
      get a variables and search in the task scope and if available also the execution scopes.
      VariableInstance getVariableInstance​(java.lang.String taskId, java.lang.String variableName)
      The variable.
      VariableInstance getVariableInstanceLocal​(java.lang.String taskId, java.lang.String variableName)
      The variable for a task.
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String taskId)
      All variables visible from the given task scope (including parent scopes).
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      The variable values for all given variableNames, takes all variables into account which are visible from the given task scope (including parent scopes).
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String taskId)
      All variable values that are defined in the task scope, without taking outer scopes into account.
      java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      The variable values for all given variableNames that are defined in the given task's scope.
      java.util.List<VariableInstance> getVariableInstancesLocalByTaskIds​(java.util.Set<java.lang.String> taskIds)
      get all variables and search only in the task scope.
      java.lang.Object getVariableLocal​(java.lang.String taskId, java.lang.String variableName)
      checks whether or not the task has a variable defined with the given name.
      <T> T getVariableLocal​(java.lang.String taskId, java.lang.String variableName, java.lang.Class<T> variableClass)
      checks whether or not the task has a variable defined with the given name.
      java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String taskId)
      get all variables and search in the task scope and if available also the execution scopes.
      java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      get values for all given variableNames and search only in the task scope.
      java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String taskId)
      get all variables and search only in the task scope.
      java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String taskId, java.util.Collection<java.lang.String> variableNames)
      get a variable on a task
      boolean hasVariable​(java.lang.String taskId, java.lang.String variableName)
      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.
      boolean hasVariableLocal​(java.lang.String taskId, java.lang.String variableName)
      checks whether or not the task has a variable defined with the given name, local task scope only.
      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 this task and that it can be send 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 this task providing the required variables 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, java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
      Similar to resolveTask(String, Map), but allows to set transient variables too.
      void saveAttachment​(Attachment attachment)
      Update the name and description of an attachment
      Task 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 setDueDate​(java.lang.String taskId, java.util.Date dueDate)
      Changes the due date of the task
      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.
      void setVariablesLocal​(java.lang.String taskId, java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
      set variables on a task.
      void unclaim​(java.lang.String taskId)
      A shortcut to claim(java.lang.String, java.lang.String) with null user in order to unclaim the task
    • Method Detail

      • newTask

        Task newTask()
        Creates a new task that is not related to any process instance. The returned task is transient and must be saved with saveTask(Task) 'manually'.
      • newTask

        Task newTask​(java.lang.String taskId)
        create a new task with a user defined task id
      • saveTask

        Task saveTask​(Task task)
        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.
        Parameters:
        task - the task, cannot be null.
      • deleteTask

        void deleteTask​(java.lang.String taskId)
        Deletes the given task, not deleting historic information that is related to this task.
        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.
        Throws:
        ActivitiObjectNotFoundException - when the task with given id does not exist.
        ActivitiException - when an error occurs while deleting the task or in case the task is part of a running process.
      • deleteTasks

        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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when one of the task does not exist.
        ActivitiException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
      • deleteTask

        void deleteTask​(java.lang.String taskId,
                        boolean cascade)
        Deletes the given task.
        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.
        Throws:
        ActivitiObjectNotFoundException - when the task with given id does not exist.
        ActivitiException - when an error occurs while deleting the task or in case the task is part of a running process.
      • deleteTasks

        void deleteTasks​(java.util.Collection<java.lang.String> taskIds,
                         boolean cascade)
        Deletes all tasks of the given collection.
        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.
        Throws:
        ActivitiObjectNotFoundException - when one of the tasks does not exist.
        ActivitiException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
      • deleteTask

        void deleteTask​(java.lang.String taskId,
                        java.lang.String deleteReason)
        Deletes the given task, not deleting historic information that is related to this task..
        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.
        Throws:
        ActivitiObjectNotFoundException - when the task with given id does not exist.
        ActivitiException - when an error occurs while deleting the task or in case the task is part of a running process
      • deleteTask

        void deleteTask​(java.lang.String taskId,
                        java.lang.String deleteReason,
                        boolean cancel)
        Deletes the given task, not deleting historic information that is related to this task..
        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.
        cancel - mark the task as cancelled
        Throws:
        ActivitiObjectNotFoundException - when the task with given id does not exist.
        ActivitiException - when an error occurs while deleting the task or in case the task is part of a running process
      • deleteTasks

        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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when one of the tasks does not exist.
        ActivitiException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
      • deleteTasks

        void deleteTasks​(java.util.Collection<java.lang.String> taskIds,
                         java.lang.String deleteReason,
                         boolean cancel)
        Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
        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.
        Throws:
        ActivitiObjectNotFoundException - when one of the tasks does not exist.
        ActivitiException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
      • claim

        void claim​(java.lang.String taskId,
                   java.lang.String userId)
        Claim responsibility for a task: the given user is made assignee for the task. The difference with 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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when the task doesn't exist.
        ActivitiTaskAlreadyClaimedException - when the task is already claimed by another user.
      • delegateTask

        void delegateTask​(java.lang.String taskId,
                          java.lang.String userId)
        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.
        Parameters:
        taskId - The id of the task that will be delegated.
        userId - The id of the user that will be set as assignee.
        Throws:
        ActivitiObjectNotFoundException - when no task exists with the given id.
      • resolveTask

        void resolveTask​(java.lang.String taskId,
                         java.util.Map<java.lang.String,​java.lang.Object> variables)
        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.
        Parameters:
        taskId -
        variables -
        Throws:
        ProcessEngineException - When no task exists with the given id.
      • resolveTask

        void resolveTask​(java.lang.String taskId,
                         java.util.Map<java.lang.String,​java.lang.Object> variables,
                         java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
        Similar to resolveTask(String, Map), but allows to set transient variables too.
      • complete

        void complete​(java.lang.String taskId,
                      java.util.Map<java.lang.String,​java.lang.Object> variables)
        Called when the task is successfully executed, and the required task parameters are given by the end-user.
        Parameters:
        taskId - the id of the task to complete, cannot be null.
        variables - task parameters. May be null or empty.
        Throws:
        ActivitiObjectNotFoundException - when no task exists with the given id.
      • complete

        void complete​(java.lang.String taskId,
                      java.util.Map<java.lang.String,​java.lang.Object> variables,
                      java.util.Map<java.lang.String,​java.lang.Object> transientVariables)
        Similar to complete(String, Map), but allows to set transient variables too.
      • complete

        void complete​(java.lang.String taskId,
                      java.util.Map<java.lang.String,​java.lang.Object> variables,
                      boolean localScope)
        Called when the task is successfully executed, and the required task parameters are given by the end-user.
        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 complete(String, Map)).
        Throws:
        ActivitiObjectNotFoundException - when no task exists with the given id.
      • setAssignee

        void setAssignee​(java.lang.String taskId,
                         java.lang.String userId)
        Changes the assignee of the given task to the given userId. No check is done whether the user is known by the identity component.
        Parameters:
        taskId - id of the task, cannot be null.
        userId - id of the user to use as assignee.
        Throws:
        ActivitiObjectNotFoundException - when the task or user doesn't exist.
      • setOwner

        void setOwner​(java.lang.String taskId,
                      java.lang.String userId)
        Transfers ownership of this task to another user. No check is done whether the user is known by the identity component.
        Parameters:
        taskId - id of the task, cannot be null.
        userId - of the person that is receiving ownership.
        Throws:
        ActivitiObjectNotFoundException - when the task or user doesn't exist.
      • getIdentityLinksForTask

        java.util.List<IdentityLink> getIdentityLinksForTask​(java.lang.String taskId)
        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.)
      • addUserIdentityLink

        void addUserIdentityLink​(java.lang.String taskId,
                                 java.lang.String userId,
                                 java.lang.String identityLinkType)
        Involves a user with a task. The type of identity link is defined by the given identityLinkType.
        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).
        Throws:
        ActivitiObjectNotFoundException - when the task or user doesn't exist.
      • addGroupIdentityLink

        void addGroupIdentityLink​(java.lang.String taskId,
                                  java.lang.String groupId,
                                  java.lang.String identityLinkType)
        Involves a group with a task. The type of identityLink is defined by the given identityLink.
        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).
        Throws:
        ActivitiObjectNotFoundException - when the task or group doesn't exist.
      • deleteUserIdentityLink

        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.
        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).
        Throws:
        ActivitiObjectNotFoundException - when the task or user doesn't exist.
      • deleteGroupIdentityLink

        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.
        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).
        Throws:
        ActivitiObjectNotFoundException - when the task or group doesn't exist.
      • setPriority

        void setPriority​(java.lang.String taskId,
                         int priority)
        Changes the priority of the task. Authorization: actual owner / business admin
        Parameters:
        taskId - id of the task, cannot be null.
        priority - the new priority for the task.
        Throws:
        ActivitiObjectNotFoundException - when the task doesn't exist.
      • setDueDate

        void setDueDate​(java.lang.String taskId,
                        java.util.Date dueDate)
        Changes the due date of the task
        Parameters:
        taskId - id of the task, cannot be null.
        dueDate - the new due date for the task
        Throws:
        ActivitiException - when the task doesn't exist.
      • createTaskQuery

        TaskQuery createTaskQuery()
        Returns a new TaskQuery that can be used to dynamically query tasks.
      • setVariable

        void setVariable​(java.lang.String taskId,
                         java.lang.String variableName,
                         java.lang.Object value)
        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.
      • setVariables

        void setVariables​(java.lang.String taskId,
                          java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
        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.
      • setVariableLocal

        void setVariableLocal​(java.lang.String taskId,
                              java.lang.String variableName,
                              java.lang.Object value)
        set variable on a task. If the variable is not already existing, it will be created in the task.
      • setVariablesLocal

        void setVariablesLocal​(java.lang.String taskId,
                               java.util.Map<java.lang.String,​? extends java.lang.Object> variables)
        set variables on a task. If the variable is not already existing, it will be created in the task.
      • getVariable

        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.
      • getVariable

        <T> T getVariable​(java.lang.String taskId,
                          java.lang.String variableName,
                          java.lang.Class<T> variableClass)
        get a variables and search in the task scope and if available also the execution scopes.
      • getVariableInstance

        VariableInstance getVariableInstance​(java.lang.String taskId,
                                             java.lang.String variableName)
        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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when no execution is found for the given taskId.
      • hasVariable

        boolean hasVariable​(java.lang.String taskId,
                            java.lang.String variableName)
        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.
      • getVariableLocal

        java.lang.Object getVariableLocal​(java.lang.String taskId,
                                          java.lang.String variableName)
        checks whether or not the task has a variable defined with the given name.
      • getVariableLocal

        <T> T getVariableLocal​(java.lang.String taskId,
                               java.lang.String variableName,
                               java.lang.Class<T> variableClass)
        checks whether or not the task has a variable defined with the given name.
      • getVariableInstanceLocal

        VariableInstance getVariableInstanceLocal​(java.lang.String taskId,
                                                  java.lang.String variableName)
        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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • hasVariableLocal

        boolean hasVariableLocal​(java.lang.String taskId,
                                 java.lang.String variableName)
        checks whether or not the task has a variable defined with the given name, local task scope only.
      • getVariables

        java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String taskId)
        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 getVariables(String, Collection) for better performance.
      • getVariableInstances

        java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String taskId)
        All variables visible from the given task scope (including parent scopes).
        Parameters:
        taskId - id of task, cannot be null.
        Returns:
        the variable instances or an empty map if no such variables are found.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • getVariableInstances

        java.util.Map<java.lang.String,​VariableInstance> getVariableInstances​(java.lang.String taskId,
                                                                                    java.util.Collection<java.lang.String> variableNames)
        The variable values for all given variableNames, takes all variables into account which are visible from the given task scope (including parent scopes).
        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.
        Throws:
        ActivitiObjectNotFoundException - when no taskId is found for the given taskId.
      • getVariablesLocal

        java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String taskId)
        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 getVariablesLocal(String, Collection) for better performance.
      • getVariables

        java.util.Map<java.lang.String,​java.lang.Object> getVariables​(java.lang.String taskId,
                                                                            java.util.Collection<java.lang.String> variableNames)
        get values for all given variableNames and search only in the task scope.
      • getVariablesLocal

        java.util.Map<java.lang.String,​java.lang.Object> getVariablesLocal​(java.lang.String taskId,
                                                                                 java.util.Collection<java.lang.String> variableNames)
        get a variable on a task
      • getVariableInstancesLocalByTaskIds

        java.util.List<VariableInstance> getVariableInstancesLocalByTaskIds​(java.util.Set<java.lang.String> taskIds)
        get all variables and search only in the task scope.
      • getVariableInstancesLocal

        java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String taskId)
        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 getVariableInstancesLocal(String, Collection) for better performance.
        Parameters:
        taskId - id of task, cannot be null.
        Returns:
        the variables or an empty map if no such variables are found.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • getVariableInstancesLocal

        java.util.Map<java.lang.String,​VariableInstance> getVariableInstancesLocal​(java.lang.String taskId,
                                                                                         java.util.Collection<java.lang.String> variableNames)
        The variable values for all given variableNames that are defined in the given task's scope. (Does not searching parent scopes).
        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.
        Throws:
        ActivitiObjectNotFoundException - when no taskId is found for the given taskId.
      • removeVariable

        void removeVariable​(java.lang.String taskId,
                            java.lang.String variableName)
        Removes the variable from the task. When the variable does not exist, nothing happens.
      • removeVariableLocal

        void removeVariableLocal​(java.lang.String taskId,
                                 java.lang.String variableName)
        Removes the variable from the task (not considering parent scopes). When the variable does not exist, nothing happens.
      • removeVariables

        void removeVariables​(java.lang.String taskId,
                             java.util.Collection<java.lang.String> variableNames)
        Removes all variables in the given collection from the task. Non existing variable names are simply ignored.
      • removeVariablesLocal

        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). Non existing variable names are simply ignored.
      • getDataObjects

        java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId)
        All DataObjects visible from the given execution scope (including parent scopes).
        Parameters:
        taskId - id of task, cannot be null.
        Returns:
        the DataObjects or an empty map if no such variables are found.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • getDataObjects

        java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId,
                                                                        java.lang.String locale,
                                                                        boolean withLocalizationFallback)
        All DataObjects visible from the given task scope (including parent scopes).
        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.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given task.
      • getDataObjects

        java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId,
                                                                        java.util.Collection<java.lang.String> dataObjectNames)
        The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
        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.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • getDataObjects

        java.util.Map<java.lang.String,​DataObject> getDataObjects​(java.lang.String taskId,
                                                                        java.util.Collection<java.lang.String> dataObjectNames,
                                                                        java.lang.String locale,
                                                                        boolean withLocalizationFallback)
        The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).
        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.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given task.
      • getDataObject

        DataObject getDataObject​(java.lang.String taskId,
                                 java.lang.String dataObject)
        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.
        Parameters:
        taskId - id of task, cannot be null.
        dataObjectName - name of DataObject, cannot be null.
        Returns:
        the DataObject or null if the variable is undefined.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • getDataObject

        DataObject getDataObject​(java.lang.String taskId,
                                 java.lang.String dataObjectName,
                                 java.lang.String locale,
                                 boolean withLocalizationFallback)
        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.
        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.
        Throws:
        ActivitiObjectNotFoundException - when no task is found for the given taskId.
      • addComment

        Comment addComment​(java.lang.String taskId,
                           java.lang.String processInstanceId,
                           java.lang.String message)
        Add a comment to a task and/or process instance.
      • addComment

        Comment addComment​(java.lang.String taskId,
                           java.lang.String processInstanceId,
                           java.lang.String type,
                           java.lang.String message)
        Add a comment to a task and/or process instance with a custom type.
      • getComment

        Comment getComment​(java.lang.String commentId)
        Returns an individual comment with the given id. Returns null if no comment exists with the given id.
      • deleteComments

        void deleteComments​(java.lang.String taskId,
                            java.lang.String processInstanceId)
        Removes all comments from the provided task and/or process instance
      • deleteComment

        void deleteComment​(java.lang.String commentId)
        Removes an individual comment with the given id.
        Throws:
        ActivitiObjectNotFoundException - when no comment exists with the given id.
      • getTaskComments

        java.util.List<Comment> getTaskComments​(java.lang.String taskId)
        The comments related to the given task.
      • getTaskComments

        java.util.List<Comment> getTaskComments​(java.lang.String taskId,
                                                java.lang.String type)
        The comments related to the given task of the given type.
      • getCommentsByType

        java.util.List<Comment> getCommentsByType​(java.lang.String type)
        All comments of a given type.
      • getTaskEvents

        java.util.List<Event> getTaskEvents​(java.lang.String taskId)
        The all events related to the given task.
      • getEvent

        Event getEvent​(java.lang.String eventId)
        Returns an individual event with the given id. Returns null if no event exists with the given id.
      • getProcessInstanceComments

        java.util.List<Comment> getProcessInstanceComments​(java.lang.String processInstanceId)
        The comments related to the given process instance.
      • getProcessInstanceComments

        java.util.List<Comment> getProcessInstanceComments​(java.lang.String processInstanceId,
                                                           java.lang.String type)
        The comments related to the given process instance.
      • createAttachment

        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
      • createAttachment

        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
      • saveAttachment

        void saveAttachment​(Attachment attachment)
        Update the name and description of an attachment
      • getAttachment

        Attachment getAttachment​(java.lang.String attachmentId)
        Retrieve a particular attachment
      • getAttachmentContent

        java.io.InputStream getAttachmentContent​(java.lang.String attachmentId)
        Retrieve stream content of a particular attachment
      • getTaskAttachments

        java.util.List<Attachment> getTaskAttachments​(java.lang.String taskId)
        The list of attachments associated to a task
      • getProcessInstanceAttachments

        java.util.List<Attachment> getProcessInstanceAttachments​(java.lang.String processInstanceId)
        The list of attachments associated to a process instance
      • deleteAttachment

        void deleteAttachment​(java.lang.String attachmentId)
        Delete an attachment
      • getSubTasks

        java.util.List<Task> getSubTasks​(java.lang.String parentTaskId)
        The list of subtasks for this parent task