Package org.flowable.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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
activateTask
(String taskId, String userId) Activates the task.void
addCandidateGroup
(String taskId, String groupId) Convenience shorthand foraddGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
addCandidateUser
(String taskId, String userId) Convenience shorthand foraddUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
addComment
(String taskId, String processInstanceId, String message) Add a comment to a task and/or process instance.addComment
(String taskId, String processInstanceId, String type, String message) Add a comment to a task and/or process instance with a custom type.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
bulkSaveTasks
(Collection<org.flowable.task.api.Task> taskList) Saves the given tasks to the persistent data store.void
Claim responsibility for a task: the given user is made assignee for the task.void
Called when the task is successfully executed.void
Called when the task is successfully executed.void
Called when the task is successfully executed, and the required task parameters are given by the end-user.void
Called when the task is successfully executed, and the required task parameters are given by the end-user.void
complete
(String taskId, String userId, Map<String, Object> variables, Map<String, Object> transientVariables) Similar tocomplete(String, String, Map)
, but allows to set transient variables too.void
Called when the task is successfully executed, and the required task parameters are given by the end-user.void
Called when the task is successfully executed, and the required task parameters are given by the end-user.void
Similar tocomplete(String, Map)
, but allows to set transient variables too.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables) Called when the task is successfully executed, and the task form has been submitted.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables, boolean localScope) Called when the task is successfully executed, and the task form has been submitted.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables, Map<String, Object> transientVariables) Called when the task is successfully executed, and the task form has been submitted.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables) Called when the task is successfully executed, and the task form has been submitted.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables, boolean localScope) Called when the task is successfully executed, and the task form has been submitted.void
completeTaskWithForm
(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables, Map<String, Object> transientVariables) Called when the task is successfully executed, and the task form has been submitted.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 contentcreateAttachment
(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 contentorg.flowable.task.api.NativeTaskQuery
Returns a newNativeQuery
for tasks.org.flowable.task.api.TaskBuilder
Create a builder for the taskorg.flowable.task.api.TaskCompletionBuilder
Create a completion builder for the taskorg.flowable.task.api.TaskQuery
Returns a newTaskQuery
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 attachmentvoid
deleteCandidateGroup
(String taskId, String groupId) Convenience shorthand fordeleteGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
deleteCandidateUser
(String taskId, String userId) Convenience shorthand fordeleteUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
void
deleteComment
(String commentId) Removes an individual comment with the given id.void
deleteComments
(String taskId, String processInstanceId) Removes all comments from the provided task and/or process instancevoid
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
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.getAttachment
(String attachmentId) Retrieve a particular attachmentgetAttachmentContent
(String attachmentId) Retrieve stream content of a particular attachmentgetComment
(String commentId) Returns an individual comment with the given id.getCommentsByType
(String type) All comments of a given type.getDataObject
(String taskId, String dataObject) The DataObject.getDataObject
(String taskId, String dataObjectName, String locale, boolean withLocalizationFallback) The DataObject.getDataObjects
(String taskId) All DataObjects visible from the given execution scope (including parent scopes).getDataObjects
(String taskId, String locale, boolean withLocalizationFallback) All DataObjects visible from the given task scope (including parent scopes).getDataObjects
(String taskId, Collection<String> dataObjectNames) The DataObjects for all given dataObjectNames, takes all dataObjects into account which are visible from the given task scope (including parent scopes).getDataObjects
(String taskId, Collection<String> dataObjectNames, 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).Returns an individual event with the given id.List<org.flowable.identitylink.api.IdentityLink>
getIdentityLinksForTask
(String taskId) Retrieves theIdentityLink
s associated with the given task.getProcessInstanceAttachments
(String processInstanceId) The list of attachments associated to a process instancegetProcessInstanceComments
(String processInstanceId) The comments related to the given process instance.getProcessInstanceComments
(String processInstanceId, String type) The comments related to the given process instance.List<org.flowable.task.api.Task>
getSubTasks
(String parentTaskId) The list of subtasks for this parent taskgetTaskAttachments
(String taskId) The list of attachments associated to a taskgetTaskComments
(String taskId) The comments related to the given task.getTaskComments
(String taskId, String type) The comments related to the given task of the given type.getTaskEvents
(String taskId) The all events related to the given task.org.flowable.form.api.FormInfo
getTaskFormModel
(String taskId) Gets a Form model instance of the task form of a specific taskorg.flowable.form.api.FormInfo
getTaskFormModel
(String taskId, boolean ignoreVariables) Gets a Form model instance of the task form of a specific task without any variable handlinggetVariable
(String taskId, String variableName) get a variables and search in the task scope and if available also the execution scopes.<T> T
getVariable
(String taskId, String variableName, Class<T> variableClass) get a variables and search in the task scope and if available also the execution scopes.org.flowable.variable.api.persistence.entity.VariableInstance
getVariableInstance
(String taskId, String variableName) The variable.org.flowable.variable.api.persistence.entity.VariableInstance
getVariableInstanceLocal
(String taskId, String variableName) The variable for a task.getVariableInstances
(String taskId) All variables visible from the given task scope (including parent scopes).getVariableInstances
(String taskId, Collection<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).getVariableInstancesLocal
(String taskId) All variable values that are defined in the task scope, without taking outer scopes into account.getVariableInstancesLocal
(String taskId, Collection<String> variableNames) The variable values for all given variableNames that are defined in the given task's scope.List<org.flowable.variable.api.persistence.entity.VariableInstance>
getVariableInstancesLocalByTaskIds
(Set<String> taskIds) get all variables and search only in the task scope.getVariableLocal
(String taskId, String variableName) checks whether or not the task has a variable defined with the given name.<T> T
getVariableLocal
(String taskId, String variableName, Class<T> variableClass) checks whether or not the task has a variable defined with the given name.getVariables
(String taskId) get all variables and search in the task scope and if available also the execution scopes.getVariables
(String taskId, Collection<String> variableNames) get values for all given variableNames and search only in the task scope.getVariablesLocal
(String taskId) get all variables and search only in the task scope.getVariablesLocal
(String taskId, Collection<String> variableNames) get a variable on a taskboolean
hasVariable
(String taskId, 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
(String taskId, String variableName) checks whether or not the task has a variable defined with the given name, local task scope only.org.flowable.task.api.Task
newTask()
Creates a new task that is not related to any process instance.org.flowable.task.api.Task
create a new task with a user defined task idvoid
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 this task and that it can be send back to the owner.void
resolveTask
(String taskId, Map<String, 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
Similar toresolveTask(String, Map)
, but allows to set transient variables too.void
saveAttachment
(Attachment attachment) Update the name and description of an attachmentvoid
saveComment
(Comment comment) Update a comment to a task and/or process instance.void
saveTask
(org.flowable.task.api.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
setDueDate
(String taskId, Date dueDate) Changes the due date of the taskvoid
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.void
startProgress
(String taskId, String userId) Set the task state to in progress.void
suspendTask
(String taskId, String userId) Suspends the task.void
A shortcut toclaim(java.lang.String, java.lang.String)
with null user in order to unclaim the task
-
Method Details
-
newTask
org.flowable.task.api.Task newTask()Creates a new task that is not related to any process instance. The returned task is transient and must be saved withsaveTask(Task)
'manually'. -
newTask
create a new task with a user defined task id -
createTaskBuilder
org.flowable.task.api.TaskBuilder createTaskBuilder()Create a builder for the task- Returns:
- task builder
-
createTaskCompletionBuilder
org.flowable.task.api.TaskCompletionBuilder createTaskCompletionBuilder()Create a completion builder for the task- Returns:
- task completion builder
-
saveTask
void saveTask(org.flowable.task.api.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.
-
bulkSaveTasks
Saves the given tasks to the persistent data store. If the tasks are already present in the persistent store, it is updated. After a new task has been saved, the task instance passed into this method is updated with the id of the newly created task.- Parameters:
taskList
- the list of task instances, cannot be null.
-
deleteTask
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task with given id does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the task or in case the task is part of a running process.
-
deleteTasks
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when one of the task does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
-
deleteTask
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task with given id does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the task or in case the task is part of a running process.
-
deleteTasks
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when one of the tasks does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
-
deleteTask
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task with given id does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the task or in case the task is part of a running process
-
deleteTasks
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when one of the tasks does not exist.org.flowable.common.engine.api.FlowableException
- when an error occurs while deleting the tasks or in case one of the tasks is part of a running process.
-
claim
Claim responsibility for a task: the given user is made assignee for the task. The difference withsetAssignee(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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.org.flowable.common.engine.api.FlowableTaskAlreadyClaimedException
- when the task is already claimed by another user
-
unclaim
A shortcut toclaim(java.lang.String, java.lang.String)
with null user in order to unclaim the task- Parameters:
taskId
- task to unclaim, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.
-
startProgress
Set the task state to in progress. No check is done whether the user is known by the identity component.- Parameters:
taskId
- task to change the state, cannot be null.userId
- user that puts the task in progress.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.
-
suspendTask
Suspends the task. No check is done whether the user is known by the identity component.- Parameters:
taskId
- task to suspend, cannot be null.userId
- user that suspends the task.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.
-
activateTask
Activates the task. No check is done whether the user is known by the identity component.- Parameters:
taskId
- task to activate, cannot be null.userId
- user that activates the task.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.
-
delegateTask
Delegates the task to another user. This means that the assignee is set and the delegation state is set toDelegationState.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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
resolveTask
Marks that the assignee is done with this task and that it can be send back to the owner. Can only be called when this task isDelegationState.PENDING
delegation. After this method returns, thedelegationState
is set toDelegationState.RESOLVED
.- Parameters:
taskId
- the id of the task to resolve, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
resolveTask
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 isDelegationState.PENDING
delegation. After this method returns, thedelegationState
is set toDelegationState.RESOLVED
.- Parameters:
taskId
-variables
-- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- When no task exists with the given id.
-
resolveTask
void resolveTask(String taskId, Map<String, Object> variables, Map<String, Object> transientVariables) Similar toresolveTask(String, Map)
, but allows to set transient variables too. -
complete
Called when the task is successfully executed.- Parameters:
taskId
- the id of the task to complete, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.org.flowable.common.engine.api.FlowableException
- when this task isDelegationState.PENDING
delegation.
-
complete
Called when the task is successfully executed.- Parameters:
taskId
- the id of the task to complete, cannot be null.userId
- user that completes the task.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.org.flowable.common.engine.api.FlowableException
- when this task isDelegationState.PENDING
delegation.
-
complete
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
complete
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.userId
- user that completes the task.variables
- task parameters. May be null or empty.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
complete
Similar tocomplete(String, Map)
, but allows to set transient variables too. -
complete
void complete(String taskId, String userId, Map<String, Object> variables, Map<String, Object> transientVariables) Similar tocomplete(String, String, Map)
, but allows to set transient variables too. -
complete
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 forcomplete(String, Map)
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
complete
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.userId
- user that completes the task.variables
- task parameters. May be null or empty.localScope
- If true, the provided variables will be stored task-local, instead of process instance wide (which is the default forcomplete(String, Map)
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.variables
- values of the completed form. May be null or empty.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.userId
- user that completes the task.variables
- values of the completed form. May be null or empty.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables, Map<String, Object> transientVariables) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.variables
- values of the completed form. May be null or empty.transientVariables
- additional transient values that need to added to the process instance transient variables. May be null or empty.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables, Map<String, Object> transientVariables) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.userId
- user that completes the task.variables
- values of the completed form. May be null or empty.transientVariables
- additional transient values that need to added to the process instance transient variables. May be null or empty.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, Map<String, Object> variables, boolean localScope) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.variables
- values of the completed form. May be null or empty.localScope
- If true, the provided variables will be stored task-local, instead of process instance wide (which is the default forcomplete(String, Map)
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
completeTaskWithForm
void completeTaskWithForm(String taskId, String formDefinitionId, String outcome, String userId, Map<String, Object> variables, boolean localScope) Called when the task is successfully executed, and the task form has been submitted.- Parameters:
taskId
- the id of the task to complete, cannot be null.formDefinitionId
- the id of the form definition that is filled-in to complete the task, cannot be null.outcome
- the outcome of the completed form, can be null.userId
- user that completes the task.variables
- values of the completed form. May be null or empty.localScope
- If true, the provided variables will be stored task-local, instead of process instance wide (which is the default forcomplete(String, Map)
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task exists with the given id.
-
getTaskFormModel
Gets a Form model instance of the task form of a specific task- Parameters:
taskId
- id of the task, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or form definition doesn't exist.
-
getTaskFormModel
Gets a Form model instance of the task form of a specific task without any variable handling- Parameters:
taskId
- id of the task, cannot be null.ignoreVariables
- should the variables be ignored when fetching the form model?- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or form definition doesn't exist.
-
setAssignee
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
setOwner
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
getIdentityLinksForTask
Retrieves theIdentityLink
s associated with the given task. Such anIdentityLink
informs how a certain identity (eg. group or user) is associated with a certain task (eg. as candidate, assignee, etc.) -
addCandidateUser
Convenience shorthand foraddUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user to use as candidate, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
addCandidateGroup
Convenience shorthand foraddGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to use as candidate, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or group doesn't exist.
-
addUserIdentityLink
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 (@seeIdentityLinkType
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
addGroupIdentityLink
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 (@seeIdentityLinkType
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or group doesn't exist.
-
deleteCandidateUser
Convenience shorthand fordeleteUserIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Parameters:
taskId
- id of the task, cannot be null.userId
- id of the user to use as candidate, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
deleteCandidateGroup
Convenience shorthand fordeleteGroupIdentityLink(String, String, String)
; with typeIdentityLinkType.CANDIDATE
- Parameters:
taskId
- id of the task, cannot be null.groupId
- id of the group to use as candidate, cannot be null.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or group doesn't exist.
-
deleteUserIdentityLink
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 (@seeIdentityLinkType
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or user doesn't exist.
-
deleteGroupIdentityLink
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 (@seeIdentityLinkType
).- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task or group doesn't exist.
-
setPriority
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when the task doesn't exist.
-
setDueDate
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:
org.flowable.common.engine.api.FlowableException
- when the task doesn't exist.
-
createTaskQuery
org.flowable.task.api.TaskQuery createTaskQuery()Returns a newTaskQuery
that can be used to dynamically query tasks. -
createNativeTaskQuery
org.flowable.task.api.NativeTaskQuery createNativeTaskQuery()Returns a newNativeQuery
for tasks. -
setVariable
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
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
set variable on a task. If the variable is not already existing, it will be created in the task. -
setVariablesLocal
set variables on a task. If the variable is not already existing, it will be created in the task. -
getVariable
get a variables and search in the task scope and if available also the execution scopes. -
getVariable
get a variables and search in the task scope and if available also the execution scopes. -
getVariableInstance
org.flowable.variable.api.persistence.entity.VariableInstance getVariableInstance(String taskId, 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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no execution is found for the given taskId.
-
hasVariable
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
checks whether or not the task has a variable defined with the given name. -
getVariableLocal
checks whether or not the task has a variable defined with the given name. -
getVariableInstanceLocal
org.flowable.variable.api.persistence.entity.VariableInstance getVariableInstanceLocal(String taskId, 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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
hasVariableLocal
checks whether or not the task has a variable defined with the given name, local task scope only. -
getVariables
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 usinggetVariables(String, Collection)
for better performance. -
getVariableInstances
Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstances(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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
getVariableInstances
Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstances(String taskId, Collection<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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no taskId is found for the given taskId.
-
getVariablesLocal
get all variables and search only in the task scope. If you have many task local variables and you only need a few, consider usinggetVariablesLocal(String, Collection)
for better performance. -
getVariables
get values for all given variableNames and search only in the task scope. -
getVariablesLocal
get a variable on a task -
getVariableInstancesLocalByTaskIds
List<org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocalByTaskIds(Set<String> taskIds) get all variables and search only in the task scope. -
getVariableInstancesLocal
Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocal(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 usinggetVariableInstancesLocal(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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
getVariableInstancesLocal
Map<String,org.flowable.variable.api.persistence.entity.VariableInstance> getVariableInstancesLocal(String taskId, Collection<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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no taskId is found for the given taskId.
-
removeVariable
Removes the variable from the task. When the variable does not exist, nothing happens. -
removeVariableLocal
Removes the variable from the task (not considering parent scopes). When the variable does not exist, nothing happens. -
removeVariables
Removes all variables in the given collection from the task. Non existing variable names are simply ignored. -
removeVariablesLocal
Removes all variables in the given collection from the task (not considering parent scopes). Non existing variable names are simply ignored. -
getDataObjects
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
getDataObjects
Map<String,DataObject> getDataObjects(String taskId, 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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given task.
-
getDataObjects
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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
getDataObjects
Map<String,DataObject> getDataObjects(String taskId, Collection<String> dataObjectNames, 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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given task.
-
getDataObject
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.dataObject
- name of DataObject, cannot be null.- Returns:
- the DataObject or null if the variable is undefined.
- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
getDataObject
DataObject getDataObject(String taskId, String dataObjectName, 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:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no task is found for the given taskId.
-
addComment
Add a comment to a task and/or process instance. -
addComment
Add a comment to a task and/or process instance with a custom type. -
saveComment
Update a comment to a task and/or process instance. -
getComment
Returns an individual comment with the given id. Returns null if no comment exists with the given id. -
deleteComments
Removes all comments from the provided task and/or process instance -
deleteComment
Removes an individual comment with the given id.- Throws:
org.flowable.common.engine.api.FlowableObjectNotFoundException
- when no comment exists with the given id.
-
getTaskComments
The comments related to the given task. -
getTaskComments
The comments related to the given task of the given type. -
getCommentsByType
All comments of a given type. -
getTaskEvents
The all events related to the given task. -
getEvent
Returns an individual event with the given id. Returns null if no event exists with the given id. -
getProcessInstanceComments
The comments related to the given process instance. -
getProcessInstanceComments
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
Update the name and description of an attachment -
getAttachment
Retrieve a particular attachment -
getAttachmentContent
Retrieve stream content of a particular attachment -
getTaskAttachments
The list of attachments associated to a task -
getProcessInstanceAttachments
The list of attachments associated to a process instance -
deleteAttachment
Delete an attachment -
getSubTasks
The list of subtasks for this parent task
-