特殊な管理 > ビジネスオブジェクトの調整 > オブジェクト初期化規則管理 > オブジェクトの初期化規則の操作 > 規則アルゴリズム > 条件付きロジックアルゴリズム > テストアルゴリズム
  
テストアルゴリズム
初期状態のテストアルゴリズムは以下のとおりです。
アルゴリズム
説明
wt.rule.algorithm.EqualsTest
2 つのオブジェクトが等しいかどうかを判断します。これは、オブジェクトとオブジェクトの比較です。
一致する場合は TRUE を返し、一致しない場合は FALSE を返します。
wt.rule.algorithm.StringEqualsTest
属性と値が等しいかどうかを判断します。このアルゴリズムでは toString() を使用して、比較の前にすべての値を文字列に変換します。この文字列と文字列の比較では、大文字と小文字は区別されません。
一致する場合は TRUE を返し、一致しない場合は FALSE を返します。
wt.rule.algorithm.StringRegExEqualsTest
正規表現に関連する概念を使用して、属性と "*" を含む値が等しいかどうかを判断します。このアルゴリズムは、正規表現照合の java.util.regex 実装を使用します。このアルゴリズムを使用して比較を実行するには、最初の Arg タグ値に、String() を使用して文字列を指定する必要があります。
一致が見つかり、それが文字列引数全体である場合は、TRUE が返されます。
wt.rule.algorithm.IfNullTest
属性の値が Null 値であるかどうかを判断します。
最初の引数が Null 値である場合は TRUE を返し、そうでない場合は FALSE を返します。
Null 値を返すには、wt.rule.algorithm.GetNullValue アルゴリズムを使用します。
wt.rule.algorithm.IfNotNullTest
属性の値が Null 値でないかどうかを判断します。
最初の引数が Null 値でない場合は TRUE を返し、Null 値である場合は FALSE を返します。
Null 値を返すには、wt.rule.algorithm.GetNullValue アルゴリズムを使用します。
com.ptc.core.rule.server.impl.IfContainerTypeEqualsProjectTest
オブジェクトが存在するコンテキストが wt.projmgmt.admin.Project2 コンテキストであるかどうかを判断します。
コンテキストが wt.projmgmt.admin.Project2 クラスまたはサブクラスのインスタンスであるか、Project2 クラスのサブタイプである場合は TRUE を返し、そうでない場合は FALSE を返します。
コンテキストがプロジェクトコンテキストまたはプログラムコンテキストである場合は TRUE を返します。
wt.rule.algorithm.AndTest
2 つ以上の比較を行い、すべての比較が真である場合は TRUE を返し、そうでない場合は FALSE を返します。
wt.rule.algorithm.OrTest
2 つ以上の比較を行い、いずれかの比較が真である場合は TRUE を返し、そうでない場合は FALSE を返します。
wt.rule.algorithm.StringInListTest
値のリストを取得し、Attr タグで定義されている最初の値が、Arg タグで定義されているリスト内のほかのアイテムのいずれかと等しいかどうかをテストします。このアルゴリズムでは toString() を使用して、比較の前にすべての値を文字列に変換します。
一致する場合は TRUE を返し、一致しない場合は FALSE を返します。
com.ptc.windchill.enterprise.impl.OrgNameEqualsTest
所有組織参加者の名前 (organization.id 属性に保存されている値) と組織名の文字列を比較して、organization.id 属性の値とこの文字列が同じ場合は TRUE を返し、一致しない場合は FALSE を返します。詳細については、所有組織参加者を参照してください。
EqualsTest、StringEqualsTest、および StringRegExEqualsTest アルゴリズムを使用する場合の一般的な構文は以下のとおりです。
<Value algorithm="wt.rule.algorithm.xxxEqualsTest">
<Attr id="aaa"/>
<Arg>bbb</Arg>
</Value>
この構文では、評価する属性が Attr タグで指定され、その文字列値が Arg タグに含まれています。この構文および後述するほかの構文では、値が文字列である必要はありません。値は別のアルゴリズムを使用して生成できます。たとえば、以下の XML を使用して Null 値をテストできます。
<Value algorithm="wt.rule.algorithm.EqualsTest">
<Attr id="name"/>
<Value algorithm="wt.rule.algorithm.GetNullValue"/>
</Value>
StringInList アルゴリズムの一般的な構文は、前述の構文が基になっています。
<Value algorithm="wt.rule.algorithm.StringInList">
<Attr id="aaa"/>
<Arg>bbb</Arg>
<Arg>ccc</Arg>
<Arg>ddd</Arg>
<Arg>eee</Arg>
:
</Value>
この構文をガイドとして使用して、Attr タグで定義されている最初のアイテムのあとに、リスト内の各アイテムの Arg タグを指定します。
AndTest アルゴリズムの構文は、ネストされた複数の Value タグで構成されます。各 Value タグが評価され、すべての評価結果が真の場合のみ、AndTest の結果が TRUE となります。
OrTest アルゴリズムの構文は、ネストされた複数の Value タグで構成されます。各 Value タグが評価され、少なくとも 1 つの評価結果が真の場合に、OrTest アルゴリズムの結果が TRUE となります。
通常、AndTest または OrTest アルゴリズムで使用する Value タグには、ほかの条件付きロジックアルゴリズムが含まれます。