Activity服务类-9 TaskService服务类
一共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);
Activity服务类-9 TaskService服务类的更多相关文章
- Activity服务类-7 RepositoryService服务类
Activity服务类-1 RepositoryService服务类一共47个接口1.创建部署//开始创建一个新的部署.DeploymentBuilder createDeployment(); 2. ...
- 谢欣伦 - OpenDev原创教程 - 服务端套接字类CxServerSocket
这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. CxServerSocket的使用如下(以某个叫做CSo ...
- [改善Java代码]使用package-info类为包服务
建议50: 使用package-info类为包服务 Java中有一个特殊的类:package-info类,它是专门为本包服务的,为什么说它特殊呢?主要体现在3个方面: (1)它不能随便被创建 在一般的 ...
- 服务端套接字类CxServerSocket的使用
服务端套接字类CxServerSocket的使用 这是一个精练的服务端套接字类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣能),个人习惯而已,如有雷同,纯属巧合. CxS ...
- C#中调用Windows系统服务exe程序的工具类与重启服务的流程
场景 使用C#编写的Windows服务程序,在Winform中进行调用. 常用工具类方法检测服务是否存在或者安装,获取服务状态,启动服务,停止服务的方法. 以在Winform中重启服务为例. 注: 博 ...
- Activity、Fragment、Dialog基类简单整理
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 这里简单记录下Activity.Fragment.Dialog基类中的常规写法,后续根据项目需求进行相应的扩展. BaseActiv ...
- Android 程式开发:(廿二)服务 —— 22.1 自定义服务
服务,就是跑在后台的“程序”,不需要和用户进行交互.举个例子,当使用一款应用的时候,可能同时想在后台播放一些音乐.在这种情况下,后来播放音乐的代码不需要和用户进行交互,所以,它就可能被当成一个服务.当 ...
- 18_Android中Service的生命周期,远程服务,绑定远程服务,aidl服务调用,综合服务案例,编写一个应用程序调用远程支付宝远程服务场景
============================================================================ 服务的生命周期: 一.采用start的方式开始 ...
- 玩转Windows服务系列——给Windows服务添加COM接口
当我们运行一个Windows服务的时候,一般情况下,我们会选择以非窗口或者非控制台的方式运行,这样,它就只是一个后台程序,没有界面供我们进行交互. 那么当我们想与Windows服务进行实时交互的时候, ...
随机推荐
- [转]截图软件分享 - Snipaste
http://chromecj.com/software/2018-10/1538.html https://zh.snipaste.com/download.html
- 廖雪峰Java4反射与泛型-3范型-4擦拭法
1.擦拭法是Java泛型的实现方式. 编译器把类型视为Object. * 泛型代码编译的时候,编译器实际上把所有的泛型类型T统一视为Object类型.换句话说,虚拟机对泛型一无所知,所有的工作都是编译 ...
- Scrapy学习篇(二)之常用命令行工具
简介 Scrapy是通过Scrapy命令行工具进行控制的,包括创建新的项目,爬虫的启动,相关的设置,Scrapy提供了两种内置的命令,分别是全局命令和项目命令,顾名思义,全局命令就是在任意位置都可以执 ...
- 集合--(List、Set、Map)遍历、删除、比较元素时的小陷阱
6,Map集合遍历的4中方法? 5,List遍历时如何remove元素 4.漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会 ...
- [UE4]Horizontal Box
HorizontalBox是让子控件水平排列. 属性图如下 Padding 留白.当子控件定义好位置与大小之后,再按padding的值,偏移,这个属性会影响子控件在布局里的位置.一般用于间隔 上下左右 ...
- [UE4]使用C++重写蓝图,SpawnObject根据类型动态创建UObject
先大量使用蓝图制作项目,后续再用C++把复杂的蓝图重写一遍,用C++代码按照蓝图依葫芦画瓢就可以了,很简单,但需要遵守一些原则: 第一种方法:使用继承 一.创建一个C++类作为蓝图的父类(C++类继承 ...
- [UE4]使用蓝图关闭对象的碰撞SetActorEnableCollision
在一个人的身上创建多把枪的时候,由于枪与枪之间重贴会产生碰撞冲突,到时角色控制出现不正常(上下左右行走总是往一个方向移动),这些可以关闭枪支的碰撞:
- mysql为什么要分库分表?
1 基本思想之什么是分库分表?从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上. 2 基本思想之为什么要分库分表? 单表操作数据量有最优值, ...
- iproute2 对决 net-tools
如今很多系统管理员依然通过组合使用诸如ifconfig.route.arp和netstat等命令行工具(统称为net-tools)来配置网络功能,解决网络故障.net-tools起源于BSD的TCP/ ...
- Javascript-多个数组是否有一样值
//判断给出的所有数组 是否都有一样的值 function arrIsEqual(){ var array=[]; for(var i=0;i<arguments.length;i++){ ar ...