org.jbpm.context.def包下:
-org.jbpm.context.def
--Access.java
--ContextDefinition.java
--VariableAccess.java
--ContextDefinition.hbm.xml
--VariableAccess.hbm.xml
Access控制对Variable变量的访问控制,访问权限有read,write,required,还有一个lock参数,一个很简单的类,下面来看一下equals()方法,代码如下:
public boolean equals(Object object) {
if (object instanceof Access) {
//将object强制转换为Access
Access other = (Access) object;
//Access的equals方法,比较object对象的各种权限,如下,是否可读,是 //否可写,是否被请求,是否锁住了...
return (isReadable()==other.isReadable())
&& (isWritable()==other.isWritable())
&& (isRequired()==other.isRequired())
&& (isLock()==other.isLock());
} else {
return false;
}
}
VariableAccess与jbpm数据库的JBPM_VARIABLEACCESS表相对应,JBPM_VARIABLEACCESS表有四个字段,ID_为VariableAccess的标识,VARIABLENAME_为变量的名字,ACCESS_为AccessType类,位置在org.jbpm.db.hibernate.AccessType,MAPPEDNAME_为被映射的名字.
ContextDefinition继承ModuleDefinition,代码很简单,ModuleDefinition会在后面介绍.
org.jbpm.context.exe包下:
-org.jbpm.context.exe
--ContextInstance.java
--ContextInstance.hbm.xml
--Converter.java
--jbpm.varmapping.xml
--JbpmType.java
--JbpmTypeMatcher.java
--TokenVariableMap.java
--TokenVariableMap.hbm.xml
--VariableContainer.java
--VariableInstance.hbm.xml
--VariableInstance.java
Converter是一个转换器接口,提供了三个方法的定义,supports(),convert(),revert(),supports()方法判断转换器是否支持以给的类型,支持返回true,convert()转换方法,revert()还原方法.
ContextInstance是ModuleInstance的子类(ModuleInstance将会在后面介绍),ContextInstance类是对变量variable的一些操作,比如说创建variable,获取variable,添加variable,删除variable等等.
JbpmTypeMatcher是一个借口,定义了matches()方法,
jbpm.varmapping.xml定义了使用何种类完成某种Java对象转换为jBPM中可存储的数据库实例.
JbpmType指定jbpm如何支持一个JAVA类型,getJbpmTypes()方法通过读取jbpm.varmapping.xml,获得一个jbpmType的List.
VariableInstance是一个抽象类,在数据库中,它作为一个基类存储变量值。对应于JBPM数据库表JBPM_VARIABLEINSTANCE。
VariableInstance的create()方法代码:
public static VariableInstance create(Token token,
String name,
Object value) {
VariableInstance variableInstance = null;
//假如value为空
if (value==null) {
//创建NullInstance(NullInstance是VariableInstance的子类)
variableInstance = new NullInstance();
} else {
//不为空,调用createVariableInstance()方法,createVariableInstance()方法获得JbpmType匹配value,返回一variableInstance
variableInstance = createVariableInstance(value);
}
//设置token
variableInstance.token = token;
//设置名字
variableInstance.name = name;
//设置流程实例
variableInstance.processInstance = (token!=null ? token.getProcessInstance() : null );
if (token!=null) {
token.addLog(new VariableCreateLog(variableInstance));
}
variableInstance.setValue(value);
return variableInstance;
}
VariableContainer(抽象类),一个变量容器,提供了设置、获取、添加、删除变量等方法.
分享到:
相关推荐
jbpm jbpm4.3.jar DDDDDDDD
jboss jbpm4最新开发包 采用了pvm框架
org.jbpm.api the jBPM API, Start by creating a Configuration, build a ProcessEngine from that, and then you can find the workflow methods on the services like ExecutionService, TaskService. org.jbpm....
深入浅出_jBPM_电子书(清晰文字版)
jbpm所南的新sql脚本mysql.identity.script.jbpm321
PacktPub.jBPM.Developer.Guide.Dec.2009.rar
Business.Process.Management.with.JBoss.jBPM
[使用JBoss.jBPM的业务流程管理][英文文字版]Business.Process.Management.with.JBoss.jBPM
JBPM电子书文档,Packt.Publishing.Business.Process.Management.with.JBoss.jBPM.Jul.2007.pdf
juel-api.jar ,juel-engine.jar, juel-impl.jar, jbpm.jar ,mail.jar
import org.jbpm.graph.def.ProcessDefinition; import org.jbpm.graph.exe.ProcessInstance; import org.jbpm.graph.exe.Token; import junit.framework.TestCase; public class JbpmTest extends TestCase{ ...
T1 spring-IOCjQueryt1.Jbpm设计t2.流程持久化t3整合spring
backport-concurrent.jar、jboss-j2ee.jar、jboss-retro-1.1.0-rt.jar、jbpm-identity.jar、jbpm-jpdl.jar、jcr-2.0.jar、log4j-1.2.13.jar、mysql-connector-java-5.0.8-bin.jar。自己也正在学习中,包的正确性未...
自己下载的官方文档,手动制作的chm文件,只有英文版 方便各位研究jbpm查阅
window.showModalDialog("${pageContext.request.contextPath}/processinstance_findactivityinfo.action?pid="+pid); } 查看某一个具体活动节点坐标 String processDefinitionId = "test-1"; // 流程定义的...
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
JBPM4.4整合SSH2的完整jar包,绝对可用!(注:此为Jar包第二部分,请搜索"JBPM4.4+SSH2完整整合jar包 par1",需要两部分一起解压!)
NULL 博文链接:https://guoyinjian.iteye.com/blog/1259538
jeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202....
JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z ...