ofbiz工作流源代码学习(3)--WfProcessMgr接口

原创 2004年04月12日 12:51:00

WfProcessMgr接口

工作流管理器(WfProcessMgr)代表了一个特定流程的模板,它用来创建工作流流程的实例。逻辑上讲,它是工作流的创建工厂和定位器,它能提供一些元信息给外界访问,如流程所需的环境,流程产生的结果等等。

知识点一:WfProcessMgr的所有属性都是只读的,当WfProcessMgr被安装时,它的属性就被设定好,以后将不能再进行改动;这与其他对象和接口的属性不一样。

工作流管理器的名字用name表示,在一个业务域中,name唯一地标示了一个工作流管理器。

category属性用来对工作流管理器进行分类,它在工作流管理器初始化时被设置并且不能被修改。

Version属性表示工作流管理器的版本。

description属性表示工作流管理器的描述性内容。

代码示例如下:

    public String name() throws WfException {

        return processDef.getString("name");

}

public String category() throws WfException {

        return processDef.getString("category");

    }

    public String version() throws WfException {

        return processDef.getString("version");

    }

    public String description() throws WfException {

        return processDef.getString("description");

    }

知识点二:工作流管理器用来产生零到多个流程,并与他们关联。

代码说明如下:

public int howManyProcess() throws WfException {

        return processList.size();   //流程的个数

}

public List getSequenceProcess(int maxNumber) throws WfException {

        if (maxNumber > 0)  

            return new ArrayList(processList.subList(0, maxNumber - 1));

        return processList;   //sequence方式返回processList

}

public Iterator getIteratorProcess() throws WfException {

        return processList.iterator();

}

public boolean isMemberOfProcess(WfProcess member) throws WfException {

        return processList.contains(member);  //流程列表中是否包括某个流程

}

知识点三:工作流管理器有两种状态:enableddisabledEnabled表示在当前状态可以产生新的流程;disabled表示在当前状态不能产生新的流程。

public List processMgrStateType() throws WfException {

        String[] list = {"enabled", "disabled"};  //String数组

        return Arrays.asList(list);

}

public void setProcessMgrState(String newState) throws WfException, TransitionNotAllowed {           

        if (!newState.equals("enabled") || !newState.equals("disabled"))

            throw new TransitionNotAllowed();  //只能有两种状态

        this.state = newState;

 }

知识点四:工作流管理器产生流程时,先产生流程实例,然后将流程实例与requester关联起来。流程实例产生时的状态为not_running.not_started

public WfProcess createProcess(WfRequester requester) throws WfException, NotEnabled,

            InvalidRequester, RequesterRequired {           

        if (state.equals("disabled"))

            throw new NotEnabled();  //工作流管理器当前的状态不容许产生新流程

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

        if (requester == null)

            throw new RequesterRequired(); //必须指定requester

 

        // test if the requestor is OK: how?

        WfProcess process = WfFactory.getWfProcess(processDef, this); //用流程定义产生流程

 

        try {

            process.setRequester(requester);  //设置requester

        } catch (CannotChangeRequester ccr) {

            throw new WfException(ccr.getMessage(), ccr);

        }

        processList.add(process);   //加入到队列中

        Debug.logVerbose("[WfProcessMgr.createProcess] : Process created.", module);

        return process

 }

版权声明:本文为博主原创文章,未经博主允许不得转载。

ofbiz工作流源代码学习(4)--WfProcess接口

 WfProcess接口WfProcess是工作流请求的执行者,执行工作的所有工作流对象都实现了这个接口,这个接口容许工作被异步地完成,并同时被监视和控制状态。当WfProcess被产生时,它进入op...
  • hongbo781202
  • hongbo781202
  • 2004年04月18日 23:57
  • 2868

三维加工

粗加工(roughing) 优化版粗加工(OptiRough)-分层快速去除 挖槽加工(Pocket) 投影加工(Project) 平行加工(Parallel) 插削加工...
  • chaozhi_guo
  • chaozhi_guo
  • 2018年01月08日 11:22
  • 50

模压硅胶产品成型后加工工艺

引言 原始的模压硅胶制品颜色单一、不光滑、缺乏美感,这极大的限制了硅胶这个优秀材料的适用场景。通过不同工艺的加工处理,硅胶的手感、颜色、视觉效果、形状等会变得更加吸引人,从而有了更广的适用范围。 ...
  • chaozhi_guo
  • chaozhi_guo
  • 2017年12月06日 11:28
  • 112

ofbiz工作流源代码学习(3)--WfProcessMgr接口

WfProcessMgr接口工作流管理器(WfProcessMgr)代表了一个特定流程的模板,它用来创建工作流流程的实例。逻辑上讲,它是工作流的创建工厂和定位器,它能提供一些元信息给外界访问,如流...
  • softstars
  • softstars
  • 2008年06月10日 16:50
  • 139

ofbiz工作流源代码学习(2)--WfExecutionObject接口

WfExecutionObject接口与实现1.概述WfExecutionObject接口是一个抽象基类接口,它定义了WfProcess和WfActivity公有的属性,状态和操作。WfExecu...
  • softstars
  • softstars
  • 2008年06月10日 16:50
  • 200

ofbiz工作流源代码学习(2)--WfExecutionObject接口

WfExecutionObject接口与实现1.概述WfExecutionObject接口是一个抽象基类接口,它定义了WfProcess和WfActivity公有的属性,状态和操作。WfExecuti...
  • hongbo781202
  • hongbo781202
  • 2004年04月07日 14:35
  • 2518

缺乏3C认证目录内产品有效证明,民用CCC商品入境验证报检须谨慎

摘自:http://www.ccc-service.com/index.asp    据检验检疫部门统计,2014年该局受理民用商品入境验证报检16418批次、总货值31208万美元,同比批次下降3...
  • cccimport
  • cccimport
  • 2018年02月01日 14:10
  • 136

ofbiz工作流源代码学习(4)--WfProcess接口

 WfProcess接口WfProcess是工作流请求的执行者,执行工作的所有工作流对象都实现了这个接口,这个接口容许工作被异步地完成,并同时被监视和控制状态。当WfProcess被产生时,它进入...
  • softstars
  • softstars
  • 2008年06月10日 16:49
  • 202

ofbiz工作流源代码学习(1)---WfRequester接口

WfRequester接口与实现WfRequester接口是一个和工作流流程的执行及结果有直接关系的接口,它代表了对要做的工作的请求。 知识点:WfRequester接口的performer是Wf...
  • softstars
  • softstars
  • 2008年06月10日 16:50
  • 139

ofbiz工作流源代码学习(1)---WfRequester接口

WfRequester接口与实现WfRequester接口是一个和工作流流程的执行及结果有直接关系的接口,它代表了对要做的工作的请求。 知识点:WfRequester接口的performer是WfPr...
  • hongbo781202
  • hongbo781202
  • 2004年04月07日 14:35
  • 2995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ofbiz工作流源代码学习(3)--WfProcessMgr接口
举报原因:
原因补充:

(最多只允许输入30个字)