`
hongsoft
  • 浏览: 302455 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

WfExecutionObject接口与实现

1.概述

WfExecutionObject接口是一个抽象基类接口,它定义了WfProcessWfActivity公有的属性,状态和操作。WfExecutionObject的操作返回的状态与流程状态是不同的。WfExecutionObject提供了方法来获取当前的状态并完成从当前状态向另一状态的转变。但WfExecutionObject的状态是执行对象的状态,WfProcess的状态是流程的状态,他们之间并没有必然的关系。

 <!----><o:p></o:p>

2.属性及相应方法

2.1 name

   name属性是工作流执行对象的描述性名字,name属性的获取和设置是通过GenericDelegatorworkEffortId来完成的:

    public String name() throws WfException {

        return getRuntimeObject().getString("workEffortName");

    }

    public void setName(String newValue) throws WfException {

        GenericValue dataObject = getRuntimeObject();

        try {

            dataObject.set("workEffortName", newValue);

            dataObject.store();

        } catch (GenericEntityException e) {

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

        }

    }

  

2.2 key

   key是工作流执行对象的唯一标示符。一个特定的工作流管理器产生的流程集合中,每个流程都有一个唯一的key;一个流程包含的活动集合中,每个活动都有一个唯一的key。当工作流执行对象产生时,由工作流管理器为它分配一个特定的key

   Key不同于对象标示符,它是工作流执行对象生命周期中流程或活动的reference。它由activityIdprocessId来表示。

2.3 process_context

   process_context是定义执行对象环境的流程相关数据,它由一系列的名字属性来描述。process_context由一系列的名值对来表达,process_context的获取和设置是通过runtimeDataIdGenericValue来实现的。

2.4 priority

   priority的有效值在05之间,一个为highest,三个为normal,另外一个为其它情况。

2.5 last_state_time

   表示上次状态改变的时间,如下:

    public Timestamp lastStateTime() throws WfException {

        GenericValue dataObject = getRuntimeObject();

 <o:p></o:p>

        if (dataObject == null || dataObject.get("lastStatusUpdate") == null)

            throw new WfException("No runtime object or status has never been set.");

        return dataObject.getTimestamp("lastStatusUpdate");

}

 <o:p></o:p>

3.状态

   总的状态分为openclosed

   Open分为open.runningopen.not_running

   Open.not_running分为not_running.not_startednot_running.suspended

   Closed分为closed.completedclosed.terminatedclosed.aborted

   not_running.suspendedopen.running应该用resume()方法。另外调用terminate()方法,abort()方法或complete()方法,suspend()方法可以到相应的状态。当然了,最通用的改变状态的方法是用changeState(int state)方法。

 <o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

分享到:
评论

相关推荐

    ofbiz--A Beginners Development Guide--Part 3

    OFBiz通常按照模块划分代码,每个模块有自己的服务组件、实体模型(Entity)、工作流(WorkEffort)和Web界面资源。源码的学习有助于理解OFBiz内部的工作流程,从而更好地进行开发。 对于初学者来说,熟悉OFBiz的...

    ofbiz--A Beginners Development Guide--Part 1

    组件是OFBiz中的基本组织单元,包含服务、实体模型、页面、工作流等。通过修改此文件,你可以控制哪些组件在特定环境中被加载,从而实现功能裁剪或扩展。 四、实践环节 在OFBiz学习过程中,实践尤为重要。`...

    ofbiz--A Beginners Development Guide--Part 2

    `component-load.xml`文件是加载这些组件的关键配置文件,它定义了组件的元数据,包括服务、实体模型、工作流和其他资源。 3. **component-load.xml解析** `component-load.xml`是Ofbiz系统启动时读取的配置文件之...

    OFBiz Tutorial - A Beginners Development Guide的Practice案例源代码

    Ofbiz 官网上的OFBiz Tutorial - A Beginners Development ...同时有一部分操作和源代码没有在教程中说明或者只是简单一提带过,此份案例源代码在13版上完整实现了整个案例,可以帮助初学者避免学习官网教程时的疑惑。

    apache-ofbiz-16.11.05

    最新版OFBiz,apache-ofbiz-16.11.05,apache-ofbiz-16.11.05

    ofbiz源代码,库

    刚一近公司就让我用ofbiz做项目,ofbiz中文版+中文文档,liferay中文版+中文文档

    CVE-2020-9496 ofbiz反序列化漏洞分析1

    2. OFBiz的主要特点是提供了一整套的开发基于Java的web应用程序的组件和工具,包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。 3. CVE-2020-9496是一个反序列化漏洞,影响所有低于17.12.04版本的OFBiz...

    ofbiz安装与配置

    3. Ofbiz:我们需要下载 Ofbiz 的压缩包(ofbiz-release-12.04.02.zip),下载地址为:http://www.apache.org/dyn/closer.cgi/ofbiz/apache-ofbiz-12.04.02.zip。或者,我们可以使用 SVN 下载 Ofbiz 的源代码,下载...

    ofbiz学习文档

    ofbiz很好的学习资料,学习了很多,希望对你也能有帮助!

    ofbiz学习笔记(自学整理)

    文档中提供的"新建 Microsoft Word 文档 (2).docx"和"新建 Microsoft Word 文档.docx"可能是详细的学习笔记或者教程,涵盖了Ofbiz的基础概念、配置步骤、实例分析等内容。建议首先阅读这些文档,以便对Ofbiz有一个...

    OFBiz-manual-zh.doc

    OFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.docOFBiz-manual-zh.doc

    Ofbiz-16-全量数据库873张表.rar

    这个压缩包文件"Ofbiz-16-全量数据库873张表.rar"包含了Apache Ofbiz 16版本的全量数据库结构,包括873个数据表的SQL脚本。这些脚本用于创建和初始化数据库,对于理解和开发基于Ofbiz的应用程序至关重要。 1. **...

    OFBiz-alipay 配置文档

    **OFBiz-alipay 配置文档** OFBiz(Open For Business Project)是一个开源的企业级应用框架,用于构建和管理电子商务网站、供应链管理、CRM、ERP等业务系统。它提供了全面的业务组件和服务,使得开发者可以快速...

    Apache OFBiz Development The Beginner's Tutorial

    - **流程中的更多细节**:深入探讨 OFBiz 中工作流的其他方面。 - **运行中的引擎可进行的更改**:讲解在系统运行状态下可进行的某些修改。 - **快速重置工作区域**:提供快速恢复初始状态的方法。 - **跳过某些...

    ofbiz资料大全

    OFBiz-技术文档.rar OFBiz API中文版.rar Apache OFBiz Cookbook Sep 2010.rar Opentaps widget使用说明.rar OFBiz.Development.2008.rar Groovy中文教程.rar freemarker中文手册.rar ofbiz10.04表结构.rar ...

    OFBiz-API-Docs

    OFBiz API 文档,英文html版。使用官方资源中的ant命令自动生成,无任何修改。有兴趣的朋友可以自己生成,ant命令是:docs-all,该命令生成帮助文档时会获取操作系统语言设置,要生成英文文档请先将操作系统语言改为...

    OFBIZ开发指南 英文2

    开发者可以定义工作流模板,自定义业务过程,使OFBIZ能适应不同企业的具体需求。 事件驱动模型是OFBIZ的另一大特色,它使得系统能够对特定事件作出反应,如用户操作、定时任务等。事件和监听器机制使得系统更具响应...

    ofbiz 英文pdf

    - **第二章:OFBiz实战操作**(Chapter2: Working with OFBiz) - **添加首个字段**:通过修改实体定义文件实现。 - **更改数据**:演示如何更新数据库记录。 - **编辑用户界面**:介绍如何调整前端显示样式。 -...

Global site tag (gtag.js) - Google Analytics