欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

工作流:形参,实参,相关数据

程序员文章站 2022-03-29 21:21:00
...

关于形参,实参,相关数据

一、形参(FormalParameter)

形参用于WorkflowProcess和Application的定义中,一旦WorkflowProcess和Application定义了一定数量的形参,那么:

  1. 引用该WorkflowProcess做为Subflow的Activity的定义中,必须定义相同数量的实参;引用该Application做为Tool的Activity的定义中,必须定义相同数量的实参;由建模工具负责保证
  2. 实例化该WorkflowProcess和Application时,引擎负责用正确的实参的值初始化其形参

二、实参(ActualParameter)

实参用于Subflow类型的Activity和Tool类型的Activity定义中

  1. 其数量必须符合所引用的WorkflowProcess或Application中所定义的形参;由建模工具负责保证
  2. 定义时其数据来源可以是本流程的相关数据及本流程的形参;由建模工具负责保证
  3. 实例化时引擎负责用正确的相关数据的值和本流程实参的值初始化其值

三、相关数据(DataField)

相关数据用于WorkflowProcess的定义中

  1. 实例化时,引擎负责将其初始化为定义中所声明的初始值(InitialValue)
  2. 做为实参的数据来源之一,引擎负责将其关联到正确的实参

四、IN,OUT,INOUT

形参有三种类型,IN,OUT,INOUT

  1. IN:对应到实参时,引擎负责该实参必须有初始值,并且Activity执行完毕之后,引擎负责忽略该实参值的任何改变,保持原值
  2. OUT:对应到实参时,引擎不必为该实参赋初值,Activity执行完毕前,必须为该实参赋值,Activity执行完毕之后,引擎必须保留其值
  3. INOUT:对应到实参时,引擎负责该实参必须有初始值,Activity执行完毕前,可以为该实参赋值,也可以不赋,Activity执行完毕之后,引擎必须保留其值

五、Index

形参有传递顺序问题,定义中用Index属性来表示,引擎负责将实参对应到正确的形参;例如:

<FormalParameters>
- <FormalParameter Id="Subflow.Wor2.For1" Index="3" Mode="IN">
- <DataType>
<BasicType Type="STRING" />
</DataType>
<Description>姓名</Description>
</FormalParameter>
- <FormalParameter Id="Subflow.Wor2.For2" Index="1" Mode="OUT">
- <DataType>
<BasicType Type="INTEGER" />
</DataType>
<Description>数量</Description>
</FormalParameter>
- <FormalParameter Id="Subflow.Wor2.For3" Index="2" Mode="INOUT">
- <DataType>
<BasicType Type="BOOLEAN" />
</DataType>
<Description>是否同意</Description>
</FormalParameter>
</FormalParameters>

假设实参放在object[] actParams中,那么Subflow.Wor2.For1的值应该是actParams[2],Subflow.Wor2.For2是actParams[0],Subflow.Wor2.For3是actParams[1]


-----------------------------------------------------WfMC 原文-----------------------------------------------------------

<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-font-kerning: 0pt">7.1.2</span></chsdate>.1. 参数传递语义

 

参数传递语义定义如下


 

i. 式参数IN相对应的实参数的初始。这传递


 


 

ii. /式参数INOUT相对应的实参数的初始参数必须工作


 

流相关数据实体的标识过程完成,输式参数的其初始的实


 

。这是拷贝归语义


 

iii. 式参数OUT初始0String类型的)。过程完成,输式参数的原始的实参数参数必须工作流相关数据实体的标识)。这


 

0-语义


 

<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-font-kerning: 0pt">7.1.2</span></chsdate>.2. 并发语义

 

参数的拷贝存储是自完成避免发的工作流相关数据中出访问冲突这些<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-bidi-font-family: ËÎÌå">7.1.2</span></chsdate>.1C,调返回拷贝存储默认不加,并返回参数覆盖


 

<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"><span lang="EN-US" style="FONT-FAMILY: 宋体; mso-font-kerning: 0pt">7.1.2</span></chsdate>.3. 形式——实际参数 映射

 

参数映射表定义了,调用过程参数向形式参数的映射参数按照顺11映射式参数,例参数映射式参数第二参数映射第二式参数过程定义需要类型工作流系统运行类型转换


 

参数表达式的情况工作流对表达式计算缓冲缓冲的内来进——参数映射缓冲和运如何运行的了本篇规范的范围