activiti 版本号
7.0.0.SR1
一、功能
API解释:Service which provides access to {@link Task} and form related operations.
翻译:提供 Task和表单相关操作 的 方法。
/**
* 操作
* 1. claim(String taskId, String userId);
* 2. unclaim(String taskId);
* 3. complete(String taskId);
* complete(String taskId, Map<String, Object> variables);
* complete(String taskId, Map<String, Object> variables, Map<String, Object> transientVariables);
* complete(String taskId, Map<String, Object> variables, boolean localScope);
* 参数
* 1. taskId:任务id
* 2. variables:任务参数, 可以为空。
* 3. transientVariables:瞬时变量,不会存入历史表
* 4. localScope:如果为true,则提供的变量将存储在任务本地,而不是进程实例范围
* 4. delegateTask(String taskId, String userId);
* 5. resolveTask(String taskId);
* resolveTask(String taskId, Map<String, Object> variables);
* resolveTask(String taskId, Map<String, Object> variables, Map<String, Object> transientVariables);
* 参数
* 1. taskId: 任务id
* 2. variables: 任务参数
* 3. transientVariables: 瞬时变量,不会存入历史表
*
* 增
* 1. saveTask(Task task);
* 2. addCandidateUser(String taskId, String userId);
* 3. addCandidateGroup(String taskId, String groupId);
* 4. addUserIdentityLink(String taskId, String userId, String identityLinkType);
* 5. addGroupIdentityLink(String taskId, String groupId, String identityLinkType);
* 6. addComment(String taskId, String processInstanceId, String message);
* addComment(String taskId, String processInstanceId, String type, String message);
* 7. saveAttachment(Attachment attachment);
* 8. createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, String url);
* createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, InputStream content);
*
* 删
* 1. deleteTask(String taskId);
* deleteTask(String taskId, String deleteReason);
* deleteTask(String taskId, boolean cascade);
* deleteTask(String taskId, String deleteReason, boolean cancel);
* deleteTasks 同 deleteTask
* 参数:
* 1. taskId:任务id
* 2. deleteReason:删除的原因
* 3. cascade:是否 级联删除 相应的历史信息
* 2. deleteCandidateUser(String taskId, String userId);
* 3. deleteCandidateGroup(String taskId, String groupId);
* 4. deleteUserIdentityLink(String taskId, String userId, String identityLinkType);
* 5. deleteGroupIdentityLink(String taskId, String groupId, String identityLinkType);
* 6. variable
* 1. removeVariable(String taskId, String variableName);
* 2. removeVariableLocal(String taskId, String variableName);
* 3. removeVariables(String taskId, Collection<String> variableNames);
* 4. removeVariablesLocal(String taskId, Collection<String> variableNames);
* 7. deleteComments(String taskId, String processInstanceId);
* deleteComment(String commentId);
* 8. deleteAttachment(String attachmentId);
*
* 查
* 1. Query / NativeQuery
* 1. Task
* 2. 其他
* 1. getIdentityLinksForTask(String taskId);
* 2. variable
* 1. getVariable(String taskId, String variableName);
* getVariable(String taskId, String variableName, Class<T> variableClass);
* 2. getVariables(String taskId);
* getVariables(String taskId, Collection<String> variableNames);
* 3. getVariableLocal(String taskId, String variableName);
* getVariableLocal(String taskId, String variableName, Class<T> variableClass);
* 4. getVariablesLocal(String taskId);
* getVariablesLocal(String taskId, Collection<String> variableNames);
* 5. getVariableInstance(String taskId, String variableName);
* 6. getVariableInstanceLocal(String taskId, String variableName);
* 7. getVariableInstances(String taskId);
* getVariableInstances(String taskId, Collection<String> variableNames);
* 8. getVariableInstancesLocalByTaskIds(Set<String> taskIds);
* 9. getVariableInstancesLocal(String taskId);
* getVariableInstancesLocal(String taskId, Collection<String> variableNames);
* 3. dataObject
* 1. getDataObjects(String taskId);
* getDataObjects(String taskId, String locale, boolean withLocalizationFallback);
* getDataObjects(String taskId, Collection<String> dataObjectNames);
* getDataObjects(String taskId, Collection<String> dataObjectNames, String locale, boolean withLocalizationFallback);
* 2. getDataObject(String taskId, String dataObject);
* getDataObject(String taskId, String dataObjectName, String locale, boolean withLocalizationFallback);
* 4. comment
* 1. getComment(String commentId);
* 2. getTaskComments(String taskId);
* getTaskComments(String taskId, String type);
* 3. getCommentsByType(String type);
* 4. getProcessInstanceComments(String processInstanceId);
* getProcessInstanceComments(String processInstanceId, String type);
* 5. getAttachment(String attachmentId);
* 6. getAttachmentContent(String attachmentId);
* 7. getTaskAttachments(String taskId);
* 8. getTaskEvents(String taskId);
* 9. getEvent(String eventId);
* 10.getProcessInstanceAttachments(String processInstanceId);
* 11.getSubTasks(String parentTaskId);
*
* 改
* 1. setAssignee(String taskId, String userId);
* 2. setOwner(String taskId, String userId);
* 3. setPriority(String taskId, int priority);
* 4. setDueDate(String taskId, Date dueDate);
* 5. variable
* 1. setVariable(String taskId, String variableName, Object value);
* 2. setVariables(String taskId, Map<String, ? extends Object> variables);
* 3. setVariablesLocal(String taskId, Map<String, ? extends Object> variables);
*
* 其他
* 1. newTask();
* newTask(String taskId);
* 2. hasVariable(String taskId, String variableName);
* 3. hasVariableLocal(String taskId, String variableName);
*/
二、API
/**
* 创建与任何流程实例都不相关的新任务.
*
* 返回的任务是暂时的,必须用{@link#saveTask(task)}“manually”保存.
*/
Task newTask();
/**
* 使用用户定义的任务id创建新任务
*/
Task newTask(String taskId);
/**
* 将给定任务保存到持久数据存储。如果任务已存在于持久存储中,则会更新该任务。保存新任务后,传递到此方法的任务实例将用新创建的任务的id更新.
*
* @param task 任务,不能为空.
*/
Task saveTask(Task task);
/**
* 删除给定任务,而不删除与此任务相关的历史信息.
*
* @param taskId 要删除的任务的id不能为空。如果不存在具有给定taskId的任务,则忽略该操作.
* @throws ActivitiObjectNotFoundException 当给定id的任务不存在时.
* @throws ActivitiException 删除任务时发生错误或任务是正在运行的进程的一部分时.
*/
void deleteTask(String taskId);
/**
* 删除给定集合的所有任务,而不删除与这些任务相关的历史信息.
*
* @param taskIds 要删除的任务的id不能为空。列表中所有没有现有任务的id都将被忽略.
* @throws ActivitiObjectNotFoundException 当其中一个任务不存在时.
* @throws ActivitiException 当删除任务时发生错误,或者其中一个任务是正在运行的进程的一部分时.
*/
void deleteTasks(Collection<String> taskIds);
/**
* 删除给定任务.
*
* @param taskId 要删除的任务的id不能为空。如果不存在具有给定taskId的任务,则忽略该操作.
* @param cascade 如果cascade为true,则还将删除与此任务相关的历史信息.
* @throws ActivitiObjectNotFoundException 当给定id的任务不存在时.
* @throws ActivitiException 删除任务时发生错误或任务是正在运行的进程的一部分时.
*/
void deleteTask(String taskId, boolean cascade);
/**
* 删除给定集合的所有任务.
*
* @param taskIds 要删除的任务的id不能为空。列表中所有没有现有任务的id都将被忽略.
* @param cascade 如果cascade为true,则还将删除与此任务相关的历史信息.
* @throws ActivitiObjectNotFoundException 当其中一个任务不存在时.
* @throws ActivitiException 当删除任务时发生错误,或者其中一个任务是正在运行的进程的一部分时.
*/
void deleteTasks(Collection<String> taskIds, boolean cascade);
/**
* 删除给定任务,而不是删除与此任务相关的历史信息..
*
* @param taskId 要删除的任务的id不能为空。如果不存在具有给定taskId的任务,则忽略该操作.
* @param deleteReason 删除任务的原因。如果启用,则记录在历史记录中.
* @throws ActivitiObjectNotFoundException 当给定id的任务不存在时.
* @throws ActivitiException 删除任务时发生错误或任务是正在运行的进程的一部分时
*/
void deleteTask(String taskId, String deleteReason);