专业化管理 > 定制业务对象 > 对象初始化规则管理 > 使用对象初始化规则 > 规则算法 > 约束算法
  
约束算法
约束算法用于针对 AttrConstraint 标记中标识的属性设置用户界面字段的显示特征。
在出厂设置下,Windchill 提供下列约束算法 (名称显示在表的多行内;在一行中输入算法名称):
算法
说明
com.ptc.core.rule.server.impl.
GetHiddenConstraint
用户界面不为该属性显示标签或值。
com.ptc.core.rule.server.impl.
GetDiscreteSetConstraint
用户界面允许从离散值列表中为属性 (自变量与属性类型相匹配) 选取值。这些值被指定为算法的自变量。
com.ptc.core.foundation.lifecycle.server.impl.
DiscreteLifecycleTemplateSetAlgorithm
用户界面允许从离散生命周期模板值列表中为 lifeCycle.id 属性选取值。这些值被指定为算法的自变量。
com.ptc.core.foundation.team.server.impl.
DiscreteTeamTemplateSetAlgorithm
用户界面允许从离散团队模板值列表中为 teamTemplate.id 属性选取值。这些值被指定为算法的自变量。
com.ptc.core.rule.server.impl.
GetImmutableConstraint
用户无法更改将要显示的属性值。如果具有另一约束的属性不具有此约束,则允许用户手动输入值。有关详细信息,请参阅使用 GetServerAssignedConstraint 和 GetImmutableConstraint 的示例
com.ptc.core.rule.server.impl.
GetServerAssignedConstraint
用户界面不显示属性的值;该值在用户单击“确定”以保存对象实例时生成。代替该值而显示的文本类似于“(生成的)”。有关详细信息,请参阅使用 GetServerAssignedConstraint 和 GetImmutableConstraint 的示例
com.ptc.core.rule.server.impl.
GetServerPreGeneratedValue
用户界面显示该属性的值。该值在显示用户界面之前生成。显示的值被指定为此算法的自变量,如果未指定,则通过为给定的属性执行相应的 AttrValue 标记来获得。
* 
对于其中默认编号值连续生成的编号属性,使用此约束可导致序列中的编号不被使用。当用户访问界面然后在保存之前取消操作时,会发生跳号。无法收回跳过的编号。
例如,使用以下 XML 可指定约束算法,用来生成在字段中显示的属性值:
algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"
将约束算法指定为 AttrConstraint 标记的一部分,该标记嵌套在 com.ptc.core.rule.server.impl.GatherAttributeConstraints 算法下的 Value 标记中,如 AttrConstraint 标记语法主题中所定义。
使用预置的约束算法可以在 Value 标记中指定一种或多种算法,也可以不指定任何算法。