对象与初始化规则详解Word格式.docx
《对象与初始化规则详解Word格式.docx》由会员分享,可在线阅读,更多相关《对象与初始化规则详解Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
1.2.4、要每个关口应该满足的升级条件。
1.3、管理生命周期进程
2、对象初始化规则,工作流与生命周期的关系
对象初始化规则:
用于指定用户在创建某种类型的新对象类型指定哪一生命周期。
工作流:
工作流(与对象相关联)生命周期通过工作流活动模板来管理状态之间的成熟进程。
默认情况下,通过“修订”操作创建对象的新版本后,会将生命周期状态设置为生命周期的第一个状态
它的规则如我们看一段rule
在这一段:
根标签中<
AttributeValues>
中的objType是针对哪一类的对象的规则
在<
AttrValue>
为对象的属性设置值
Algorithm在这个<
中,表示的一种算法。
-<
AttributeValuesobjType="
com.ptc.windchill.wp.WorkPackage|PrintApplyPackage"
>
!
--
setthefolder
-->
这一段是使用FolderPathAttributeAlgorithm来设置在创建这个文档/部件时,使用的文件夹路径,在<
Arg>
中设置
com.ptc.core.foundation.folder.server.impl.FolderPathAttributeAlgorithm这个算法的意思是将指定的文件夹路径字符串转换为文件夹对象参考,此算法最常见的用途是设置floder.id属性的值
对于<
标签值得设定,也有一定的规律
该自变量中的“/default”用来表示在任意上下文“文件夹(Folders)”页面上的文件夹浏览器中列出的顶层文件夹。
顶层文件夹的名称与上下文的名称相同。
在设置folder.id的默认值时,路径始终以”/Default”开头,要为顶层文件夹下的某个文件夹命名,请在/default后面加一个斜杠级文件夹的名字,如该示例使用的是“/Default/打印申请单”(在页面中,“打印申请单”文件夹在顶层文件夹的下一层)
(注意,如果创建申请单的用户界面将在“位置”字段中显示folder.id属性的值)
AttrValueid="
folder.id"
algorithm="
com.ptc.core.foundation.folder.server.impl.FolderPathAttributeAlgorithm"
<
/Default/打印申请单<
/Arg>
/AttrValue>
setthelifecycle
这一段是设置对象的生命周期模板这个属性。
这个属性是以com.ptc.core.foundation.lifecycle.server.impl.LifeCycleTemplateAttributeAlgorithm这个算法来将字符串转化为对应的生命周期模板对象参考,此算法常用的方法是设置lifeCycle.id属性的值
lifeCycle.id"
com.ptc.core.foundation.lifecycle.server.impl.LifeCycleTemplateAttributeAlgorithm"
打印申请单生命周期<
settheteamtemplate
这一个可以参考以上的来理解
teamTemplate.id"
com.ptc.core.foundation.team.server.impl.TeamTemplateAttributeAlgorithm"
Default<
setthenumbertoageneratednumber
ext.ioe.numbering.ExtNumberGenerator这个是自己客制化的一个类(算法)
当在<
中配置algorithm="
ext.ioe.numbering.ExtNumberGenerator"
它会自动调用ExtNumberGenerator这个类的calculate,然后返回一个String给number
number"
这三个参数不知道什么意思如果是加前缀,则参考第9页
PA<
ext.ioe.numbering.PrintPackageCustomNumbering<
这个表示:
4:
0共有4位,不足的用0补足
<
—设置序列-->
{GEN:
wt.enterprise.SequenceGenerator:
WorkPackageSequence:
0}<
settheversioninfotoageneratedversioninfo
设置版本号
com.ptc.core.foundation.vc.server.impl.VersionInfoGenerator返回带有指定名称的版本方案。
此算法最常见的用途是设置versionInfo属性的值。
注意:
版本控制中AttrValue的id和algorithm这个是固定写法
wt.series.HarvardSeries这个表示哈佛版本控制方案
对一些版本的控制在wt.properties中,如下图
MBA|versionInfo"
com.ptc.core.foundation.vc.server.impl.VersionInfoGenerator"
wt.series.HarvardSeries<
specifyAttrConstrainttag
AttrValue标记提供默认值,使用AttrConstraint标记提供约束条件
AttrConstraint决定在页面的显示样式
algorithm="
com.ptc.core.rule.server.impl.GatherAttributeConstraints"
这个算法是建立收集约束条件的结构,您可以指定零个,一个或多个约束条件算法来设置你需要的显示特征,比如下面的
com.ptc.core.rule.server.impl.GetServerAssignedConstraint这个表示用户页面不显示属性的值,如果某个具有另一约束条件的属性没有此约束条件,则会允许用户手动输入值
com.ptc.core.rule.server.impl.GetImmutableConstraint这个表示用户不能更改要显示的属性值。
如果某个具有另一约束条件的属性没有此约束条件,这会允许用户手动输入值。
AttrConstraintid="
Valuealgorithm="
com.ptc.core.rule.server.impl.GetServerAssignedConstraint"
/>
com.ptc.core.rule.server.impl.GetImmutableConstraint"
/AttrConstraint>
lifeCycle"
如上面的代码在页面中所呈现的形式:
com.ptc.core.rule.server.impl.GetServerPreGeneratedValue用户界面显示属性的值。
该值会在显示用户界面之前生成。
所显示的值被指定为该算法的自变量,如果尚未指定,将通过执行给定属性相应的AttrValue标记来获取
如:
com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"
teamTemplate"
com.ptc.windchill.enterprise.org.server.impl.OwningOrgDefaultAlgorithm返回要在其中创建对象的上下文的组织承担者(WTOrganization)。
organization.id"
com.ptc.windchill.enterprise.org.server.impl.OwningOrgDefaultAlgorithm"
/Value>
/AttributeValues>
补充一种枚举算法
wt.rule.algorithm.EnumTypeConstant将指定值转换为枚举值
下面演示一个条件逻辑算法示例
说一些常用的算法:
wt.rule.algorithm.EqualsTest:
给定两个对象,确定是否相等。
这是对象与对象之间的比较。
如果匹配,返回TRUE;
否则,返回FALSE
wt.rule.algorithm.StringEqualsTest:
给定属性和值,确定是否相等。
该算法会在比较之前使用toString()强制所有内容均成为字符串。
这是字符串与字符串之间的比较,不区分大小写。
否则,返回FALSE。
wt.rule.algorithm.BooleanBranch:
采用三个对象的列表。
包含在Value标记中的第一个对象预期将成为一个返回布尔值的对象,以告知BooleanBranch算法将返回另外包含在Arg标记中的两个对象中的哪一个。
下面看一个例子:
当两个组织中都存在部件,在编号时,我们应该如何区分呢?
可以参考以下示例: