一共72个接口

1.创建任务(2个方法)
//创建与任何流程实例无关的新任务。
Task newTask();
//使用用户定义的任务id创建一个新任务。
Task newTask(String taskId);

2.存任务(1个方法)
//将给定的任务保存到持久数据存储中。
如果这个任务已经存在于持久化存储中,那么它将被更新。
在保存了新任务之后,传递给该方法的任务实例将使用新创建的任务的id进行更新。
void saveTask(Task task);

3.删除任务(6个方法)
//删除给定的任务,而不是删除与此任务相关的历史信息。
void deleteTask(String taskId);
//删除给定集合的所有任务,而不是删除与这些任务相关的历史信息。
void deleteTasks(Collection<String> taskIds);
//删除给定的任务。
void deleteTask(String taskId, boolean cascade);
//删除给定集合的所有任务
void deleteTasks(Collection<String> taskIds, boolean cascade);
//删除给定的任务。
void deleteTask(String taskId, String deleteReason);
//删除给定集合的所有任务
void deleteTasks(Collection<String> taskIds, String deleteReason);

4.任务操作
//声明对任务的责任:给定的用户被指定为任务的受让人。
不检查用户是否被标识组件所知。
void claim(String taskId, String userId);
//为了取消任务,使用null用户的{@link #claim}的快捷方式。
void unclaim(String taskId);
//当任务成功执行时调用。
void complete(String taskId);
//将任务委托给另一个用户。
这意味着设置了assignee并将委派状态设置为{@link委派状态#PENDING}。
如果没有设置所有者,则所有者将被设置为任务的当前受让人。
void delegateTask(String taskId, String userId);
//标志着受让人完成了这项任务,并可以将其发回给所有者。
 只有当这个任务是{@link DelegationState#PENDING}委托时才能调用。
在此方法返回后,{@link Task# getdelegate state()将被设置为{@link DelegationState#RESOLVED}。
void resolveTask(String taskId);
//标志着受让人完成了这项任务,提供了所需的变量,并且可以将其发回给所有者。
只有当这个任务是{@link DelegationState#PENDING}委托时才能调用。
在此方法返回后,{@link Task# getdelegate state()将被设置为{@link DelegationState#RESOLVED}。
void resolveTask(String taskId, Map<String, Object> variables);
//当任务成功执行时调用,
所需的任务参数由最终用户给出。
void complete(String taskId, Map<String, Object> variables);
//同上
void complete(String taskId, Map<String, Object> variables, boolean localScope);
//将给定任务的受让人更改为给定的userId。
不检查用户是否被标识组件所知。
void setAssignee(String taskId, String userId);
//将此任务的所有权转移给另一个用户。
不检查用户是否被标识组件所知。
void setOwner(String taskId, String userId);

5.检索
//检索与给定任务关联的{@link IdentityLink}。
这样的{@link IdentityLink}通知了一个特定的标识(如。
组或用户)与某个任务相关联(如。
作为候选人,受让人,等等)。
List<IdentityLink> getIdentityLinksForTask(String taskId);

6.候选(候选组,候选用户)的操作(添加与删除)
//{@link #addUserIdentityLink(String、String、String)}的便利简写;
型{ @link IdentityLinkType #CANDIDATE}
void addCandidateUser(String taskId, String userId);
//{@link #addGroupIdentityLink(String、String、String)}的便利简写;
型{ @link IdentityLinkType #CANDIDATE}
void addCandidateGroup(String taskId, String groupId);
//涉及到有任务的用户。
身份链接的类型由给定的身份链接类型定义。
void addUserIdentityLink(String taskId, String userId, String identityLinkType);
//涉及到一个有任务的小组。
标识链接的类型由给定的标识链接定义。
void addGroupIdentityLink(String taskId, String groupId, String identityLinkType);
//{@link #deleteUserIdentityLink(String、String、String)}的便利简写;
型{ @link IdentityLinkType #CANDIDATE}
void deleteCandidateUser(String taskId, String userId);
//{@link #deleteGroupIdentityLink(String、String、String)}的便利简写;
型{ @link IdentityLinkType #CANDIDATE}
void deleteCandidateGroup(String taskId, String groupId);
//删除用户与给定身份链接类型的任务之间的关联。
void deleteUserIdentityLink(String taskId, String userId, String identityLinkType);
//删除一个组与给定身份链接类型的任务之间的关联。
void deleteGroupIdentityLink(String taskId, String groupId, String identityLinkType);

7.任务修改
//更改任务的优先级。
权限:实际所有者/业务管理员。
void setPriority(String taskId, int priority);
//更改任务的截止日期。
void setDueDate(String taskId, Date dueDate);

8.任务查询
//返回可用于动态查询任务的新{@link TaskQuery}。
TaskQuery createTaskQuery();
//返回任务的新{@link NativeQuery}。
NativeTaskQuery createNativeTaskQuery();

9.任务变量(添加,获取,检测,移除)
//在任务上设置变量。
如果变量不是已经存在,那么它将在最外层的范围内创建。
这意味着在此任务与执行相关的情况下,流程实例。
void setVariable(String taskId, String variableName, Object value);
//同上
void setVariables(String taskId, Map<String, ? extends Object> variables);
//在任务上设置变量。
如果变量不是已经存在,那么它将在任务中创建。
void setVariableLocal(String taskId, String variableName, Object value);
//同上
void setVariablesLocal(String taskId, Map<String, ? extends Object> variables);
//获取任务范围内的变量和搜索,如果还有执行范围的话。
Object getVariable(String taskId, String variableName);
//获取任务范围内的变量和搜索,如果还有执行范围的话。
<T> T getVariable(String taskId, String variableName, Class<T> variableClass);
//检查任务是否具有给定名称的变量,在任务范围内,如果还有执行范围。
boolean hasVariable(String taskId, String variableName);
//检查任务是否有定义为给定名称的变量。
Object getVariableLocal(String taskId, String variableName);
//同上
<T> T getVariableLocal(String taskId, String variableName, Class<T> variableClass);
//检查任务是否有定义为给定名称的变量,只有本地任务范围。
boolean hasVariableLocal(String taskId, String variableName);
//获取任务范围内的所有变量和搜索,如果还有执行范围的话。
如果您有很多变量,而且只需要一些变量,那么可以考虑使用{@link #getVariables(String, Collection)}来获得更好的性能。
Map<String, Object> getVariables(String taskId);
//获取所有变量并只在任务范围内搜索。
如果您有许多任务局部变量,而且只需要一些,请考虑使用{@link #getVariablesLocal(String, Collection)}来获得更好的性能。
Map<String, Object> getVariablesLocal(String taskId);
//获取所有给定变量的值,并只在任务范围内搜索。
Map<String, Object> getVariables(String taskId, Collection<String> variableNames);
//在任务上获取一个变量。
Map<String, Object> getVariablesLocal(String taskId, Collection<String> variableNames);
//获取所有变量并只在任务范围内搜索。
List<VariableInstance> getVariableInstancesLocalByTaskIds(Set<String> taskIds);
//从任务中移除变量。
当变量不存在时,什么都不会发生。
void removeVariable(String taskId, String variableName);
//从任务中移除变量(不考虑父作用域)。
当变量不存在时,什么都不会发生。
void removeVariableLocal(String taskId, String variableName);
//从任务中移除给定集合中的所有变量。
不存在的变量名完全被忽略。
void removeVariables(String taskId, Collection<String> variableNames);
//从任务中删除给定集合中的所有变量(不考虑父范围)。
不存在的变量名完全被忽略。
void removeVariablesLocal(String taskId, Collection<String> variableNames);

10.注释
//向任务和/或流程实例添加注释。
Comment addComment(String taskId, String processInstanceId, String message);
//将注释添加到一个任务和/或具有自定义类型的流程实例。
Comment addComment(String taskId, String processInstanceId, String type, String message);
//返回带有给定id的单个注释。如果给定id没有注释,则返回null。
Comment getComment(String commentId);
//从提供的任务和/或流程实例中删除所有注释。
void deleteComments(String taskId, String processInstanceId);
//用给定的id删除单个注释。
void deleteComment(String commentId);
//与给定任务相关的注释。
List<Comment> getTaskComments(String taskId);
//与给定类型的给定任务相关的注释。
List<Comment> getTaskComments(String taskId, String type);
//给定类型的所有注释。
List<Comment> getCommentsByType(String type);

11.事件
//所有与给定任务相关的Event。
List<Event> getTaskEvents(String taskId);
//返回给定id的单个事件。如果给定id不存在事件,则返回null。
Event getEvent(String eventId);
//与给定流程实例相关的注释。
List<Comment> getProcessInstanceComments(String processInstanceId);
//同上
List<Comment> getProcessInstanceComments(String processInstanceId, String type);

12.附件
//向任务和/或流程实例添加新的附件,并使用输入流提供内容。
Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, InputStream content);
//向任务和/或流程实例添加新的附件,并使用url作为内容。
Attachment createAttachment(String attachmentType, String taskId, String processInstanceId, String attachmentName, String attachmentDescription, String url);
//更新附件的名称和描述。
void saveAttachment(Attachment attachment);
//检索一个特定的附件
Attachment getAttachment(String attachmentId);
//检索特定附件的流内容。
InputStream getAttachmentContent(String attachmentId);
//与任务相关的附件列表。
List<Attachment> getTaskAttachments(String taskId);
//与流程实例相关联的附件列表。
List<Attachment> getProcessInstanceAttachments(String processInstanceId);
//删除附件
void deleteAttachment(String attachmentId);

13.任务列表获取
//父任务的子任务列表。
List<Task> getSubTasks(String parentTaskId);

转自https://www.cnblogs.com/liuqing576598117/p/9815031.html

Activiti服务类- TaskService服务类的更多相关文章

  1. Spring容器装饰者模式应用之实现业务类与服务类自由组合的解决方式

    在不论什么一个项目中都不可或缺的存在两种bean,一种是实现系统核心功能的bean,我们称之为业务类,第二种是与系统核心业务无关但同一时候又提供十分重要服务bean,我们称之为服务类.业务类的bean ...

  2. Windows服务 System.ServiceProcess.ServiceBase类

    一.Windows服务 1.Windows服务应用程序是一种需要长期运行的应用程序,它适合服务器环境. 2.无用户界面,任何消息都会写进Windows事件日志. 3.随计算机启动而启动,不需要用户一定 ...

  3. 属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务

    小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研 ...

  4. 避免在ASP.NET Core 3.0中为启动类注入服务

    本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0类库转换为.NET Core 3.0类库 Part 2 - IHostingE ...

  5. 集成新版(5.17+)Activiti Modeler与Rest服务

    声明: 此教程适合Activiti 5.17+版本. 本博客所涉及的内容均可在kft-activiti-demo中找到. 在线demo可以访问 http://demo.kafeitu.me:8080/ ...

  6. 微服务和SOA服务

    微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将“服务”作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们 ...

  7. 内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性

      本文转载自:http://blog.sina.com.cn/s/blog_5d65a16901011kom.html 关键字:内省.JavaBean.PropertyDescriptor类.Int ...

  8. .net 根据匿名类生成实体类,根据datatable生成实体类,根据sql生成实体类

    在开发中可能会遇到这几种情况 1.EF或LINQ查询出来的匿名对象在其它地方调用不方便,又懒的手动建实体类 2.通过datatable反射实体需要先建一个类 ,头痛 3.通过SQL语句返回的实体也需要 ...

  9. SuperSocket入门(三)-Telnet多服务实例和服务实例交互配置详解

        在SuperSocket入门(二)中我们已经简单了解了通过配置App.config文件使用BootStrap启动SuperSocket服务.我们先来看一下上个案例中的基本配置文件示例: < ...

随机推荐

  1. python中传统除法、真除法和Floor除法

    1.python2.6及其之前,x/y是传统除法,对于整数会省去小数部分,对于浮点数会保持小数部分. 2.python3中x/y表示真除法,无论任何数据类型都会保留小数部分. 3.python2和3中 ...

  2. centos7无网络环境下创建基于scratch镜像的Linux镜像,并带有Java运行环境

    一.准备 将下载好的jdk以及scratch镜像放在同一文件夹下:这里放在linux:2.0 二.导入scratch镜像 #docker load -i scratch.tar 三.创建dockerf ...

  3. WUSTOJ 1247: 递增或递减排序(Java)

    1247: 递增或递减排序 题目   有n个整数,求它的递增排序序列或递减排序序列.更多内容点击标题. 分析 统一升序排序,输出的时候做区分. 先区分是升序还是降序,调用库函数. 代码   方法1,将 ...

  4. Spring基础篇——DI/IOC和AOP原理初识

    DI(Dependency Injection),依赖注入,和我们常听说的另一个概念 IOC(控制反转)其实归根结底实现的功能是相同的,只是同样的功能站在不同的角度来阐述罢了.这里博主就不去过多的辨析 ...

  5. JDBC 复习2 存取mysql 大数据

    大数据也称之为LOB(Large Objects),LOB又分为:clob和blob,clob用于存储大文本,blob用于存储二进制数据 mysql的大数据分为2种 blob 和 text ,没有cl ...

  6. ajax简单页面

    简单的注册页面运用ajax 主页面 <head><meta http-equiv="Content-Type" content="text/html; ...

  7. flutter packages get 慢 解决方案

    国内使用 flutter packages get 命令,一直是  This is taking an unexpectedly long time 状态 科.学.上.网.无.效. windows解决 ...

  8. B树Java代码实现以及测试

    B树定义 B 树又叫平衡多路查找树.一棵m阶的B 树 (m叉树)的特性如下: 根节点至少有两个孩子 每个非根节点至少有M/2(上取整)个孩子,至多有M个孩子. 每个非根节点至少有M/2-1(上取整)个 ...

  9. log:日志处理模块

    为了更好的跟踪程序,我们通常都会使用日志,当然在golang中也提供了相应的模块. 基本使用 可以直接通过log来调用格式化输出的方法. package main import "log&q ...

  10. C和指针--命令行参数

    1.命令行参数 C程序的main函数具有两个形参,第1个通常称为argc,它表示命令行参数的数目.第2个称为argv,它指向一组参数值.由于参数的数目并没有内在的限制,所以argv指向这组参数值(本质 ...