org.camunda.bpm.engine
Interface TaskService

All Known Implementing Classes:
TaskServiceImpl

public interface TaskService

Service which provides access to Task and form related operations.

Author:
Tom Baeyens, Joram Barrez, Thorben Lindhauer

Method Summary
 void addCandidateGroup(String taskId, String groupId)
          Convenience shorthand for addGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void addCandidateUser(String taskId, String userId)
          Convenience shorthand for addUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void addComment(String taskId, String processInstanceId, String message)
          Deprecated. Use createComment(String, String, String) instead
 void addGroupIdentityLink(String taskId, String groupId, String identityLinkType)
          Involves a group with a task.
 void addUserIdentityLink(String taskId, String userId, String identityLinkType)
          Involves a user with a task.
 void claim(String taskId, String userId)
          Claim responsibility for a task: the given user is made assignee for the task.
 void complete(String taskId)
          Marks a task as done and continues process execution.
 void complete(String taskId, Map<String,Object> variables)
          Marks a task as done and continues process execution.
 Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, 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(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, String url)
          Add a new attachment to a task and/or a process instance and use an url as the content
 Comment createComment(String taskId, String processInstanceId, 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.
 void delegateTask(String taskId, String userId)
          Delegates the task to another user.
 void deleteAttachment(String attachmentId)
          Delete an attachment
 void deleteCandidateGroup(String taskId, String groupId)
          Convenience shorthand for deleteGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void deleteCandidateUser(String taskId, String userId)
          Convenience shorthand for deleteUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void deleteGroupIdentityLink(String taskId, String groupId, String identityLinkType)
          Removes the association between a group and a task for the given identityLinkType.
 void deleteTask(String taskId)
          Deletes the given task, not deleting historic information that is related to this task.
 void deleteTask(String taskId, boolean cascade)
          Deletes the given task.
 void deleteTask(String taskId, String deleteReason)
          Deletes the given task, not deleting historic information that is related to this task.
 void deleteTaskAttachment(String taskId, String attachmentId)
          Delete an attachment to the given task id and attachment id
 void deleteTasks(Collection<String> taskIds)
          Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
 void deleteTasks(Collection<String> taskIds, boolean cascade)
          Deletes all tasks of the given collection.
 void deleteTasks(Collection<String> taskIds, String deleteReason)
          Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.
 void deleteUserIdentityLink(String taskId, String userId, String identityLinkType)
          Removes the association between a user and a task for the given identityLinkType.
 Attachment getAttachment(String attachmentId)
          Retrieve a particular attachment
 InputStream getAttachmentContent(String attachmentId)
          Retrieve stream content of a particular attachment
 List<IdentityLink> getIdentityLinksForTask(String taskId)
          Retrieves the IdentityLinks associated with the given task.
 List<Attachment> getProcessInstanceAttachments(String processInstanceId)
          The list of attachments associated to a process instance
 List<Comment> getProcessInstanceComments(String processInstanceId)
          The comments related to the given process instance.
 List<Task> getSubTasks(String parentTaskId)
          The list of subtasks for this parent task
 Attachment getTaskAttachment(String taskId, String attachmentId)
          Retrieve a particular attachment to the given task id and attachment id
 InputStream getTaskAttachmentContent(String taskId, String attachmentId)
          Retrieve stream content of a particular attachment to the given task id and attachment id
 List<Attachment> getTaskAttachments(String taskId)
          The list of attachments associated to a task
 Comment getTaskComment(String taskId, String commentId)
          Retrieve a particular task comment
 List<Comment> getTaskComments(String taskId)
          The comments related to the given task.
 List<Event> getTaskEvents(String taskId)
          Deprecated. This method has been deprecated as of camunda BPM 7.1. It has been replaced with the operation log. See UserOperationLogEntry and UserOperationLogQuery.
 Object getVariable(String taskId, String variableName)
          Get a variables and search in the task scope and if available also the execution scopes.
 Object getVariableLocal(String taskId, String variableName)
          Get a variables and only search in the task scope.
<T extends org.camunda.bpm.engine.variable.value.TypedValue>
T
getVariableLocalTyped(String taskId, String variableName)
          Get a variables and only search in the task scope.
<T extends org.camunda.bpm.engine.variable.value.TypedValue>
T
getVariableLocalTyped(String taskId, String variableName, boolean deserializeValue)
          Get a variables and only search in the task scope.
 Map<String,Object> getVariables(String taskId)
          Get all variables and search in the task scope and if available also the execution scopes.
 Map<String,Object> getVariables(String taskId, Collection<String> variableNames)
          Get values for all given variableNames
 Map<String,Object> getVariablesLocal(String taskId)
          Get all variables and search only in the task scope.
 Map<String,Object> getVariablesLocal(String taskId, Collection<String> variableNames)
          Get a variable on a task
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId)
          Get all variables and search only in the task scope.
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId, boolean deserializeValues)
          Get all variables and search only in the task scope.
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId, Collection<String> variableNames, boolean deserializeValues)
          Get values for all given variableName.
 org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId)
          Get all variables and search in the task scope and if available also the execution scopes.
 org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId, boolean deserializeValues)
          Get all variables and search in the task scope and if available also the execution scopes.
 org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId, Collection<String> variableNames, boolean deserializeValues)
          Get values for all given variableName
<T extends org.camunda.bpm.engine.variable.value.TypedValue>
T
getVariableTyped(String taskId, String variableName)
          Get a variables and search in the task scope and if available also the execution scopes.
<T extends org.camunda.bpm.engine.variable.value.TypedValue>
T
getVariableTyped(String taskId, String variableName, boolean deserializeValue)
          Get a variables and search in the task scope and if available also the execution scopes.
 Task newTask()
          Creates a new task that is not related to any process instance.
 Task newTask(String taskId)
          create a new task with a user defined task id
 void removeVariable(String taskId, String variableName)
          Removes the variable from the task.
 void removeVariableLocal(String taskId, String variableName)
          Removes the variable from the task (not considering parent scopes).
 void removeVariables(String taskId, Collection<String> variableNames)
          Removes all variables in the given collection from the task.
 void removeVariablesLocal(String taskId, Collection<String> variableNames)
          Removes all variables in the given collection from the task (not considering parent scopes).
 void resolveTask(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(String taskId, Map<String,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(String taskId, String userId)
          Changes the assignee of the given task to the given userId.
 void setOwner(String taskId, String userId)
          Transfers ownership of this task to another user.
 void setPriority(String taskId, int priority)
          Changes the priority of the task.
 void setVariable(String taskId, String variableName, Object value)
          Set variable on a task.
 void setVariableLocal(String taskId, String variableName, Object value)
          Set variable on a task.
 void setVariables(String taskId, Map<String,? extends Object> variables)
          Set variables on a task.
 void setVariablesLocal(String taskId, Map<String,? extends Object> variables)
          Set variables on a 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'.

Throws:
AuthorizationException - if the user has no Permissions.CREATE permission on Resources.TASK.

newTask

Task newTask(String taskId)
create a new task with a user defined task id


saveTask

void 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.
Throws:
AuthorizationException - If the task is already present and the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION. Or if the task is not present and the user has no Permissions.CREATE permission on Resources.TASK.

deleteTask

void deleteTask(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:
ProcessEngineException - when an error occurs while deleting the task or in case the task is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

deleteTasks

void deleteTasks(Collection<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:
ProcessEngineException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

deleteTask

void deleteTask(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:
ProcessEngineException - when an error occurs while deleting the task or in case the task is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

deleteTasks

void deleteTasks(Collection<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:
ProcessEngineException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

deleteTask

void deleteTask(String taskId,
                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:
ProcessEngineException - when an error occurs while deleting the task or in case the task is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

deleteTasks

void deleteTasks(Collection<String> taskIds,
                 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:
ProcessEngineException - when an error occurs while deleting the tasks or in case one of the tasks is part of a running process or case instance.
AuthorizationException - If the user has no Permissions.DELETE permission on Resources.TASK.

claim

void claim(String taskId,
           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:
ProcessEngineException - when the task doesn't exist or when the task is already claimed by another user.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

complete

void complete(String taskId)
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.

Parameters:
taskId - the id of the task to complete, cannot be null.
Throws:
ProcessEngineException - when no task exists with the given id or when this task is DelegationState.PENDING delegation.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

delegateTask

void delegateTask(String taskId,
                  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. The new assignee must use resolveTask(String) to report back to the owner. Only the owner can complete 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:
ProcessEngineException - when no task exists with the given id.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

resolveTask

void resolveTask(String taskId)
Marks that the assignee is done with the task delegated to her 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 delegation state is set to DelegationState.RESOLVED and the task can be completed.

Parameters:
taskId - the id of the task to resolve, cannot be null.
Throws:
ProcessEngineException - when no task exists with the given id.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

resolveTask

void resolveTask(String taskId,
                 Map<String,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. Can only be called when this task is DelegationState.PENDING delegation. After this method returns, the delegation state is set to DelegationState.RESOLVED and the task can be completed.

Parameters:
taskId -
variables -
Throws:
ProcessEngineException - when no task exists with the given id.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

complete

void complete(String taskId,
              Map<String,Object> variables)
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.

Parameters:
taskId - the id of the task to complete, cannot be null.
variables - task parameters. May be null or empty.
Throws:
ProcessEngineException - when no task exists with the given id.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setAssignee

void setAssignee(String taskId,
                 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:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setOwner

void setOwner(String taskId,
              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:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getIdentityLinksForTask

List<IdentityLink> getIdentityLinksForTask(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.)

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

addCandidateUser

void addCandidateUser(String taskId,
                      String userId)
Convenience shorthand for addUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Parameters:
taskId - id of the task, cannot be null.
userId - id of the user to use as candidate, cannot be null.
Throws:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

addCandidateGroup

void addCandidateGroup(String taskId,
                       String groupId)
Convenience shorthand for addGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to use as candidate, cannot be null.
Throws:
ProcessEngineException - when the task or group doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

addUserIdentityLink

void addUserIdentityLink(String taskId,
                         String userId,
                         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:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

addGroupIdentityLink

void addGroupIdentityLink(String taskId,
                          String groupId,
                          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:
ProcessEngineException - when the task or group doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

deleteCandidateUser

void deleteCandidateUser(String taskId,
                         String userId)
Convenience shorthand for deleteUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Parameters:
taskId - id of the task, cannot be null.
userId - id of the user to use as candidate, cannot be null.
Throws:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

deleteCandidateGroup

void deleteCandidateGroup(String taskId,
                          String groupId)
Convenience shorthand for deleteGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to use as candidate, cannot be null.
Throws:
ProcessEngineException - when the task or group doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

deleteUserIdentityLink

void deleteUserIdentityLink(String taskId,
                            String userId,
                            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:
ProcessEngineException - when the task or user doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

deleteGroupIdentityLink

void deleteGroupIdentityLink(String taskId,
                             String groupId,
                             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:
ProcessEngineException - when the task or group doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setPriority

void setPriority(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:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

createTaskQuery

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


createNativeTaskQuery

NativeTaskQuery createNativeTaskQuery()
Returns a new


setVariable

void setVariable(String taskId,
                 String variableName,
                 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.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setVariables

void setVariables(String taskId,
                  Map<String,? extends 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.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setVariableLocal

void setVariableLocal(String taskId,
                      String variableName,
                      Object value)
Set variable on a task. If the variable is not already existing, it will be created in the task.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

setVariablesLocal

void setVariablesLocal(String taskId,
                       Map<String,? extends Object> variables)
Set variables on a task. If the variable is not already existing, it will be created in the task.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariable

Object getVariable(String taskId,
                   String variableName)
Get a variables and search in the task scope and if available also the execution scopes.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariableTyped

<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableTyped(String taskId,
                                                                                String variableName)
Get a variables and search in the task scope and if available also the execution scopes.

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.
Throws:
ClassCastException - in case the value is not of the requested type
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariableTyped

<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableTyped(String taskId,
                                                                                String variableName,
                                                                                boolean deserializeValue)
Get a variables and search in the task scope and if available also the execution scopes.

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.
Throws:
ClassCastException - in case the value is not of the requested type
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariableLocal

Object getVariableLocal(String taskId,
                        String variableName)
Get a variables and only search in the task scope.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariableLocalTyped

<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableLocalTyped(String taskId,
                                                                                     String variableName)
Get a variables and only search in the task scope.

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.
Throws:
ClassCastException - in case the value is not of the requested type
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariableLocalTyped

<T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableLocalTyped(String taskId,
                                                                                     String variableName,
                                                                                     boolean deserializeValue)
Get a variables and only search in the task scope.

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.
Throws:
ClassCastException - in case the value is not of the requested type
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariables

Map<String,Object> getVariables(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.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariablesTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(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.

Parameters:
taskId - the id of the task
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariablesTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId,
                                                              boolean deserializeValues)
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.

Parameters:
taskId - the id of the task
deserializeValues - if false, SerializableValues will not be deserialized.
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariablesLocal

Map<String,Object> getVariablesLocal(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.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariablesLocalTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(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.

Parameters:
taskId - the id of the task
deserializeValues - if false, SerializableValues will not be deserialized.
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariablesLocalTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId,
                                                                   boolean deserializeValues)
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.

Parameters:
taskId - the id of the task
deserializeValues - if false, SerializableValues will not be deserialized.
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariables

Map<String,Object> getVariables(String taskId,
                                Collection<String> variableNames)
Get values for all given variableNames

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariablesTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId,
                                                              Collection<String> variableNames,
                                                              boolean deserializeValues)
Get values for all given variableName

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.
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

getVariablesLocal

Map<String,Object> getVariablesLocal(String taskId,
                                     Collection<String> variableNames)
Get a variable on a task

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

getVariablesLocalTyped

org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId,
                                                                   Collection<String> variableNames,
                                                                   boolean deserializeValues)
Get values for all given variableName. Only search in the local task scope.

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.
Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.READ permission on Resources.TASK or no Permissions.READ_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).
Since:
7.2

removeVariable

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

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

removeVariableLocal

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

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

removeVariables

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

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

removeVariablesLocal

void removeVariablesLocal(String taskId,
                          Collection<String> variableNames)
Removes all variables in the given collection from the task (not considering parent scopes). Non existing variable names are simply ignored.

Throws:
ProcessEngineException - when the task doesn't exist.
AuthorizationException - If the user has no Permissions.UPDATE permission on Resources.TASK or no Permissions.UPDATE_TASK permission on Resources.PROCESS_DEFINITION (if the task is part of a running process instance).

addComment

@Deprecated
void addComment(String taskId,
                           String processInstanceId,
                           String message)
Deprecated. Use createComment(String, String, String) instead

Add a comment to a task and/or process instance.


createComment

Comment createComment(String taskId,
                      String processInstanceId,
                      String message)
Creates a comment to a task and/or process instance and returns the comment.


getTaskComments

List<Comment> getTaskComments(String taskId)
The comments related to the given task.


getTaskComment

Comment getTaskComment(String taskId,
                       String commentId)
Retrieve a particular task comment


getTaskEvents

@Deprecated
List<Event> getTaskEvents(String taskId)
Deprecated. This method has been deprecated as of camunda BPM 7.1. It has been replaced with the operation log. See UserOperationLogEntry and UserOperationLogQuery.

The all events related to the given task.

As of Camunda BPM 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.

See Also:
HistoryService.createUserOperationLogQuery()

getProcessInstanceComments

List<Comment> getProcessInstanceComments(String processInstanceId)
The comments related to the given process instance.


createAttachment

Attachment createAttachment(String attachmentType,
                            String taskId,
                            String processInstanceId,
                            String attachmentName,
                            String attachmentDescription,
                            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(String attachmentType,
                            String taskId,
                            String processInstanceId,
                            String attachmentName,
                            String attachmentDescription,
                            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 decription of an attachment


getAttachment

Attachment getAttachment(String attachmentId)
Retrieve a particular attachment


getTaskAttachment

Attachment getTaskAttachment(String taskId,
                             String attachmentId)
Retrieve a particular attachment to the given task id and attachment id


getAttachmentContent

InputStream getAttachmentContent(String attachmentId)
Retrieve stream content of a particular attachment


getTaskAttachmentContent

InputStream getTaskAttachmentContent(String taskId,
                                     String attachmentId)
Retrieve stream content of a particular attachment to the given task id and attachment id


getTaskAttachments

List<Attachment> getTaskAttachments(String taskId)
The list of attachments associated to a task


getProcessInstanceAttachments

List<Attachment> getProcessInstanceAttachments(String processInstanceId)
The list of attachments associated to a process instance


deleteAttachment

void deleteAttachment(String attachmentId)
Delete an attachment


deleteTaskAttachment

void deleteTaskAttachment(String taskId,
                          String attachmentId)
Delete an attachment to the given task id and attachment id


getSubTasks

List<Task> getSubTasks(String parentTaskId)
The list of subtasks for this parent task



Copyright © 2016 camunda services GmbH. All rights reserved.