org.camunda.bpm.engine.impl
Class TaskServiceImpl

java.lang.Object
  extended by org.camunda.bpm.engine.impl.ServiceImpl
      extended by org.camunda.bpm.engine.impl.TaskServiceImpl
All Implemented Interfaces:
TaskService

public class TaskServiceImpl
extends ServiceImpl
implements TaskService

Author:
Tom Baeyens, Joram Barrez

Field Summary
 
Fields inherited from class org.camunda.bpm.engine.impl.ServiceImpl
commandExecutor
 
Constructor Summary
TaskServiceImpl()
           
 
Method Summary
 void addCandidateGroup(String taskId, String groupId)
          Convenience shorthand for TaskService.addGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void addCandidateUser(String taskId, String userId)
          Convenience shorthand for TaskService.addUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void addComment(String taskId, String processInstance, String message)
          Add a comment to a task and/or process instance.
 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 processInstance, String message)
          Creates a comment to a task and/or process instance and returns the comment.
 NativeTaskQuery createNativeTaskQuery()
          Returns a new
 TaskQuery createTaskQuery()
          Returns a new TaskQuery that can be used to dynamically query tasks.
 TaskReport createTaskReport()
          Instantiate a task report
 void delegateTask(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 TaskService.deleteGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE
 void deleteCandidateUser(String taskId, String userId)
          Convenience shorthand for TaskService.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)
          The all events related to the given task.
 Object getVariable(String executionId, String variableName)
          Get a variables and search in the task scope and if available also the execution scopes.
 Object getVariableLocal(String executionId, 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.
 org.camunda.bpm.engine.variable.VariableMap getVariables(String executionId)
          Get all variables and search in the task scope and if available also the execution scopes.
 org.camunda.bpm.engine.variable.VariableMap getVariables(String executionId, Collection<String> variableNames)
          Get values for all given variableNames
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocal(String taskId)
          Get all variables and search only in the task scope.
 org.camunda.bpm.engine.variable.VariableMap getVariablesLocal(String executionId, 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 executionId, Collection<String> variableNames, boolean deserializeValues)
          Get values for all given variableName.
 org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId)
          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 executionId, 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.
protected
<T extends org.camunda.bpm.engine.variable.value.TypedValue>
T
getVariableTyped(String taskId, String variableName, boolean isLocal, boolean deserializeValue)
           
 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 executionId, String variableName, Object value)
          Set variable on a task.
 void setVariableLocal(String executionId, String variableName, Object value)
          Set variable on a task.
 void setVariables(String executionId, Map<String,? extends Object> variables)
          Set variables on a task.
 void setVariablesLocal(String executionId, Map<String,? extends Object> variables)
          Set variables on a task.
 void updateVariables(String taskId, Map<String,? extends Object> modifications, Collection<String> deletions)
           
 void updateVariablesLocal(String taskId, Map<String,? extends Object> modifications, Collection<String> deletions)
           
 
Methods inherited from class org.camunda.bpm.engine.impl.ServiceImpl
getCommandExecutor, setCommandExecutor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskServiceImpl

public TaskServiceImpl()
Method Detail

newTask

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

Specified by:
newTask in interface TaskService

newTask

public Task newTask(String taskId)
Description copied from interface: TaskService
create a new task with a user defined task id

Specified by:
newTask in interface TaskService

saveTask

public void saveTask(Task task)
Description copied from interface: TaskService
Saves the given task to the persistent data store. If the task is already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.

Specified by:
saveTask in interface TaskService
Parameters:
task - the task, cannot be null.

deleteTask

public void deleteTask(String taskId)
Description copied from interface: TaskService
Deletes the given task, not deleting historic information that is related to this task.

Specified by:
deleteTask in interface TaskService
Parameters:
taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.

deleteTasks

public void deleteTasks(Collection<String> taskIds)
Description copied from interface: TaskService
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.

Specified by:
deleteTasks in interface TaskService
Parameters:
taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.

deleteTask

public void deleteTask(String taskId,
                       boolean cascade)
Description copied from interface: TaskService
Deletes the given task.

Specified by:
deleteTask in interface TaskService
Parameters:
taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
cascade - If cascade is true, also the historic information related to this task is deleted.

deleteTasks

public void deleteTasks(Collection<String> taskIds,
                        boolean cascade)
Description copied from interface: TaskService
Deletes all tasks of the given collection.

Specified by:
deleteTasks in interface TaskService
Parameters:
taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
cascade - If cascade is true, also the historic information related to this task is deleted.

deleteTask

public void deleteTask(String taskId,
                       String deleteReason)
Description copied from interface: TaskService
Deletes the given task, not deleting historic information that is related to this task.

Specified by:
deleteTask in interface TaskService
Parameters:
taskId - The id of the task that will be deleted, cannot be null. If no task exists with the given taskId, the operation is ignored.
deleteReason - reason the task is deleted. Is recorded in history, if enabled.

deleteTasks

public void deleteTasks(Collection<String> taskIds,
                        String deleteReason)
Description copied from interface: TaskService
Deletes all tasks of the given collection, not deleting historic information that is related to these tasks.

Specified by:
deleteTasks in interface TaskService
Parameters:
taskIds - The id's of the tasks that will be deleted, cannot be null. All id's in the list that don't have an existing task will be ignored.
deleteReason - reason the task is deleted. Is recorded in history, if enabled.

setAssignee

public void setAssignee(String taskId,
                        String userId)
Description copied from interface: TaskService
Changes the assignee of the given task to the given userId. No check is done whether the user is known by the identity component.

Specified by:
setAssignee in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - id of the user to use as assignee.

setOwner

public void setOwner(String taskId,
                     String userId)
Description copied from interface: TaskService
Transfers ownership of this task to another user. No check is done whether the user is known by the identity component.

Specified by:
setOwner in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - of the person that is receiving ownership.

addCandidateUser

public void addCandidateUser(String taskId,
                             String userId)
Description copied from interface: TaskService
Convenience shorthand for TaskService.addUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Specified by:
addCandidateUser in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - id of the user to use as candidate, cannot be null.

addCandidateGroup

public void addCandidateGroup(String taskId,
                              String groupId)
Description copied from interface: TaskService
Convenience shorthand for TaskService.addGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Specified by:
addCandidateGroup in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to use as candidate, cannot be null.

addUserIdentityLink

public void addUserIdentityLink(String taskId,
                                String userId,
                                String identityLinkType)
Description copied from interface: TaskService
Involves a user with a task. The type of identity link is defined by the given identityLinkType.

Specified by:
addUserIdentityLink in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - id of the user involve, cannot be null.
identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).

addGroupIdentityLink

public void addGroupIdentityLink(String taskId,
                                 String groupId,
                                 String identityLinkType)
Description copied from interface: TaskService
Involves a group with a task. The type of identityLink is defined by the given identityLink.

Specified by:
addGroupIdentityLink in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to involve, cannot be null.
identityLinkType - type of identity, cannot be null (@see IdentityLinkType).

deleteCandidateGroup

public void deleteCandidateGroup(String taskId,
                                 String groupId)
Description copied from interface: TaskService
Convenience shorthand for TaskService.deleteGroupIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Specified by:
deleteCandidateGroup in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to use as candidate, cannot be null.

deleteCandidateUser

public void deleteCandidateUser(String taskId,
                                String userId)
Description copied from interface: TaskService
Convenience shorthand for TaskService.deleteUserIdentityLink(String, String, String); with type IdentityLinkType.CANDIDATE

Specified by:
deleteCandidateUser in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - id of the user to use as candidate, cannot be null.

deleteGroupIdentityLink

public void deleteGroupIdentityLink(String taskId,
                                    String groupId,
                                    String identityLinkType)
Description copied from interface: TaskService
Removes the association between a group and a task for the given identityLinkType.

Specified by:
deleteGroupIdentityLink in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
groupId - id of the group to involve, cannot be null.
identityLinkType - type of identity, cannot be null (@see IdentityLinkType).

deleteUserIdentityLink

public void deleteUserIdentityLink(String taskId,
                                   String userId,
                                   String identityLinkType)
Description copied from interface: TaskService
Removes the association between a user and a task for the given identityLinkType.

Specified by:
deleteUserIdentityLink in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
userId - id of the user involve, cannot be null.
identityLinkType - type of identityLink, cannot be null (@see IdentityLinkType).

getIdentityLinksForTask

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

Specified by:
getIdentityLinksForTask in interface TaskService

claim

public void claim(String taskId,
                  String userId)
Description copied from interface: TaskService
Claim responsibility for a task: the given user is made assignee for the task. The difference with TaskService.setAssignee(String, String) is that here a check is done if the task already has a user assigned to it. No check is done whether the user is known by the identity component.

Specified by:
claim in interface TaskService
Parameters:
taskId - task to claim, cannot be null.
userId - user that claims the task. When userId is null the task is unclaimed, assigned to no one.

complete

public void complete(String taskId)
Description copied from interface: TaskService
Marks a task as done and continues process execution. This method is typically called by a task list user interface after a task form has been submitted by the assignee.

Specified by:
complete in interface TaskService
Parameters:
taskId - the id of the task to complete, cannot be null.

complete

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

Specified by:
complete in interface TaskService
Parameters:
taskId - the id of the task to complete, cannot be null.
variables - task parameters. May be null or empty.

delegateTask

public void delegateTask(String taskId,
                         String userId)
Description copied from interface: TaskService
Delegates the task to another user. This means that the assignee is set and the delegation state is set to DelegationState.PENDING. If no owner is set on the task, the owner is set to the current assignee of the task. The new assignee must use TaskService.resolveTask(String) to report back to the owner. Only the owner can complete the task.

Specified by:
delegateTask in interface TaskService
Parameters:
taskId - The id of the task that will be delegated.
userId - The id of the user that will be set as assignee.

resolveTask

public void resolveTask(String taskId)
Description copied from interface: TaskService
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.

Specified by:
resolveTask in interface TaskService
Parameters:
taskId - the id of the task to resolve, cannot be null.

resolveTask

public void resolveTask(String taskId,
                        Map<String,Object> variables)
Description copied from interface: TaskService
Marks that the assignee is done with 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.

Specified by:
resolveTask in interface TaskService

setPriority

public void setPriority(String taskId,
                        int priority)
Description copied from interface: TaskService
Changes the priority of the task. Authorization: actual owner / business admin

Specified by:
setPriority in interface TaskService
Parameters:
taskId - id of the task, cannot be null.
priority - the new priority for the task.

createTaskQuery

public TaskQuery createTaskQuery()
Description copied from interface: TaskService
Returns a new TaskQuery that can be used to dynamically query tasks.

Specified by:
createTaskQuery in interface TaskService

createNativeTaskQuery

public NativeTaskQuery createNativeTaskQuery()
Description copied from interface: TaskService
Returns a new

Specified by:
createNativeTaskQuery in interface TaskService

getVariables

public org.camunda.bpm.engine.variable.VariableMap getVariables(String executionId)
Description copied from interface: TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider using TaskService.getVariables(String, Collection) for better performance.

Specified by:
getVariables in interface TaskService

getVariablesTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId)
Description copied from interface: TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider using TaskService.getVariables(String, Collection) for better performance.

Specified by:
getVariablesTyped in interface TaskService
Parameters:
executionId - the id of the task

getVariablesTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String taskId,
                                                                     boolean deserializeValues)
Description copied from interface: TaskService
Get all variables and search in the task scope and if available also the execution scopes. If you have many variables and you only need a few, consider using TaskService.getVariables(String, Collection) for better performance.

Specified by:
getVariablesTyped in interface TaskService
Parameters:
taskId - the id of the task
deserializeValues - if false, SerializableValues will not be deserialized.

getVariablesLocal

public org.camunda.bpm.engine.variable.VariableMap getVariablesLocal(String taskId)
Description copied from interface: TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider using TaskService.getVariablesLocal(String, Collection) for better performance.

Specified by:
getVariablesLocal in interface TaskService

getVariablesLocalTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId)
Description copied from interface: TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider using TaskService.getVariablesLocal(String, Collection) for better performance.

Specified by:
getVariablesLocalTyped in interface TaskService
Parameters:
taskId - the id of the task

getVariablesLocalTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String taskId,
                                                                          boolean deserializeValues)
Description copied from interface: TaskService
Get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider using TaskService.getVariablesLocal(String, Collection) for better performance.

Specified by:
getVariablesLocalTyped in interface TaskService
Parameters:
taskId - the id of the task
deserializeValues - if false, SerializableValues will not be deserialized.

getVariables

public org.camunda.bpm.engine.variable.VariableMap getVariables(String executionId,
                                                                Collection<String> variableNames)
Description copied from interface: TaskService
Get values for all given variableNames

Specified by:
getVariables in interface TaskService

getVariablesTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesTyped(String executionId,
                                                                     Collection<String> variableNames,
                                                                     boolean deserializeValues)
Description copied from interface: TaskService
Get values for all given variableName

Specified by:
getVariablesTyped in interface TaskService
Parameters:
executionId - the id of the task
variableNames - only fetch variables whose names are in the collection.
deserializeValues - if false, SerializableValues will not be deserialized.

getVariablesLocal

public org.camunda.bpm.engine.variable.VariableMap getVariablesLocal(String executionId,
                                                                     Collection<String> variableNames)
Description copied from interface: TaskService
Get a variable on a task

Specified by:
getVariablesLocal in interface TaskService

getVariablesLocalTyped

public org.camunda.bpm.engine.variable.VariableMap getVariablesLocalTyped(String executionId,
                                                                          Collection<String> variableNames,
                                                                          boolean deserializeValues)
Description copied from interface: TaskService
Get values for all given variableName. Only search in the local task scope.

Specified by:
getVariablesLocalTyped in interface TaskService
Parameters:
executionId - the id of the task
variableNames - only fetch variables whose names are in the collection.
deserializeValues - if false, SerializableValues will not be deserialized.

getVariable

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

Specified by:
getVariable in interface TaskService

getVariableLocal

public Object getVariableLocal(String executionId,
                               String variableName)
Description copied from interface: TaskService
Get a variables and only search in the task scope.

Specified by:
getVariableLocal in interface TaskService

getVariableTyped

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

Specified by:
getVariableTyped in interface TaskService
Parameters:
taskId - the id of the task
variableName - the name of the variable to fetch
Returns:
the TypedValue for the variable or 'null' in case no such variable exists.

getVariableTyped

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

Specified by:
getVariableTyped in interface TaskService
Parameters:
taskId - the id of the task
variableName - the name of the variable to fetch
deserializeValue - if false a, SerializableValue will not be deserialized.
Returns:
the TypedValue for the variable or 'null' in case no such variable exists.

getVariableLocalTyped

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

Specified by:
getVariableLocalTyped in interface TaskService
Parameters:
taskId - the id of the task
variableName - the name of the variable to fetch
Returns:
the TypedValue for the variable or 'null' in case no such variable exists.

getVariableLocalTyped

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

Specified by:
getVariableLocalTyped in interface TaskService
Parameters:
taskId - the id of the task
variableName - the name of the variable to fetch
deserializeValue - if false a, SerializableValue will not be deserialized.
Returns:
the TypedValue for the variable or 'null' in case no such variable exists.

getVariableTyped

protected <T extends org.camunda.bpm.engine.variable.value.TypedValue> T getVariableTyped(String taskId,
                                                                                          String variableName,
                                                                                          boolean isLocal,
                                                                                          boolean deserializeValue)

setVariable

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

Specified by:
setVariable in interface TaskService

setVariableLocal

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

Specified by:
setVariableLocal in interface TaskService

setVariables

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

Specified by:
setVariables in interface TaskService

setVariablesLocal

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

Specified by:
setVariablesLocal in interface TaskService

updateVariablesLocal

public void updateVariablesLocal(String taskId,
                                 Map<String,? extends Object> modifications,
                                 Collection<String> deletions)

updateVariables

public void updateVariables(String taskId,
                            Map<String,? extends Object> modifications,
                            Collection<String> deletions)

removeVariable

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

Specified by:
removeVariable in interface TaskService

removeVariableLocal

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

Specified by:
removeVariableLocal in interface TaskService

removeVariables

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

Specified by:
removeVariables in interface TaskService

removeVariablesLocal

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

Specified by:
removeVariablesLocal in interface TaskService

addComment

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

Specified by:
addComment in interface TaskService

createComment

public Comment createComment(String taskId,
                             String processInstance,
                             String message)
Description copied from interface: TaskService
Creates a comment to a task and/or process instance and returns the comment.

Specified by:
createComment in interface TaskService

getTaskComments

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

Specified by:
getTaskComments in interface TaskService

getTaskComment

public Comment getTaskComment(String taskId,
                              String commentId)
Description copied from interface: TaskService
Retrieve a particular task comment

Specified by:
getTaskComment in interface TaskService

getTaskEvents

public List<Event> getTaskEvents(String taskId)
Description copied from interface: TaskService

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.

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

getProcessInstanceComments

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

Specified by:
getProcessInstanceComments in interface TaskService

createAttachment

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

Specified by:
createAttachment in interface TaskService

createAttachment

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

Specified by:
createAttachment in interface TaskService

getAttachmentContent

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

Specified by:
getAttachmentContent in interface TaskService

getTaskAttachmentContent

public InputStream getTaskAttachmentContent(String taskId,
                                            String attachmentId)
Description copied from interface: TaskService
Retrieve stream content of a particular attachment to the given task id and attachment id

Specified by:
getTaskAttachmentContent in interface TaskService

deleteAttachment

public void deleteAttachment(String attachmentId)
Description copied from interface: TaskService
Delete an attachment

Specified by:
deleteAttachment in interface TaskService

deleteTaskAttachment

public void deleteTaskAttachment(String taskId,
                                 String attachmentId)
Description copied from interface: TaskService
Delete an attachment to the given task id and attachment id

Specified by:
deleteTaskAttachment in interface TaskService

getAttachment

public Attachment getAttachment(String attachmentId)
Description copied from interface: TaskService
Retrieve a particular attachment

Specified by:
getAttachment in interface TaskService

getTaskAttachment

public Attachment getTaskAttachment(String taskId,
                                    String attachmentId)
Description copied from interface: TaskService
Retrieve a particular attachment to the given task id and attachment id

Specified by:
getTaskAttachment in interface TaskService

getTaskAttachments

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

Specified by:
getTaskAttachments in interface TaskService

getProcessInstanceAttachments

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

Specified by:
getProcessInstanceAttachments in interface TaskService

saveAttachment

public void saveAttachment(Attachment attachment)
Description copied from interface: TaskService
Update the name and decription of an attachment

Specified by:
saveAttachment in interface TaskService

getSubTasks

public List<Task> getSubTasks(String parentTaskId)
Description copied from interface: TaskService
The list of subtasks for this parent task

Specified by:
getSubTasks in interface TaskService

createTaskReport

public TaskReport createTaskReport()
Description copied from interface: TaskService
Instantiate a task report

Specified by:
createTaskReport in interface TaskService


Copyright © 2016 camunda services GmbH. All rights reserved.