特殊な管理 > ビジネスオブジェクトの調整 > オブジェクト初期化規則管理 > オブジェクトの初期化規則の操作 > 規則アルゴリズム > 制約アルゴリズム
  
制約アルゴリズム
制約アルゴリズムを使用し、AttrConstraint タグで指定された属性について、ユーザーインタフェースフィールドに表示する際の特性を設定します。
初期状態では、Windchill では以下の制約アルゴリズムを使用できます (この表では名前が複数行にわたって表示されていますが、アルゴリズム名は 1 行で入力してください)。
アルゴリズム
説明
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
ユーザーインタフェースには属性値が表示されません。値は、ユーザーが「OK」をクリックしてオブジェクトのインスタンスを保存したときに生成されます。値の代わりに、「(生成済み)」などのテキストが表示されます。詳細については、GetServerAssignedConstraint および GetImmutableConstraint を使用した例を参照してください。
com.ptc.core.rule.server.impl.
GetServerPreGeneratedValue
ユーザーインタフェースに属性値が表示されます。この値は、ユーザーインタフェースが表示される前に生成されます。表示される値は、このアルゴリズムの引数として指定します。指定しない場合は、対象の属性に対応する AttrValue タグを実行することによって取得します。
* 
デフォルトの番号値が連番で生成される番号属性の場合、この制約を使用すると連番が使用されなくなる可能性があります。ユーザーがインタフェースにアクセスし、保存する前に操作を取り消した場合、番号がとぶことがあります。とばされた番号は使用できません。
詳細については、GetServerPreGeneratedValue を使用したフォルダ制約の例を参照してください。
たとえば、以下の XML を使用して、フィールドに表示される属性値を生成する制約アルゴリズムを指定します。
algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"
制約アルゴリズムは AttrConstraint タグの一部として指定します。また、AttrConstraint タグの構文で定義されているように、com.ptc.core.rule.server.impl.GatherAttributeConstraints アルゴリズムの Value タグ内にネストします。
初期状態の制約アルゴリズムを使用して、ゼロ、1 つ、または複数のアルゴリズムを Value タグに指定できます。