ルール間に簡単な優先度を設定する
ルールには、静的または動的にすることができる優先度があります。 定数を使用して静的優先度を定義したり、またはルール・セット変数を含む式を使用して動的優先度を定義したりします。
ルールの実行順序を定義するには、関連するルール成果物のプロパティー・ビューのルールの優先順位を優先順位 プロパティーで設定してください。
注: プロパティーを編集できるようにするには、 「プロパティー」 ビューの 「値」 列ヘッダーの横に、手のアイコン
が表示されていることを確認してください。
静的優先度
ルール間のルール実行の順序を変更する場合は、static 優先度を使用します。 静的優先度は、整数であり、ルール間の優先度を決定する相対値です。 同じルールの複数のインスタンスが同時に実行可能である場合、static 優先度を使用して、
それらのインスタンス間の実行順序を変更することもできます。
静的優先順位は、定数を使用して定義してください。 「優先度」プロパティーの「値」フィールドに、優先度を表す数値を入力します。 この数値は、-109 から +109 までの任意の Java™ 整数値にすることができます。 数値が大きいほど、ルールの実行優先度も高くなります。
動的優先度
dynamic 優先度は、ルールの条件部分にバインドされている
ルール・セット変数に値が依存する式です。注: 動的ルール優先順位を持つルールを選択する Sequential モードのルール・タスクがルール・セット・アーカイブに含まれている場合、エラー・メッセージが表示されます。
「優先度」プロパティーの「値」フィールドに、ルール・セット変数を使用する式を入力します。 式では、スコープがルール・セット全体に適用される場合、ルールの条件部分で定義された変数を使用できます。 式が整数以外の数値を返す場合は、Java 言語仕様に従って整数に変換されます。
以下に、2 つの例を示します。
prior1 + ?p
-?a
定数
ルールの優先順位に定数を使用できます。 これらの優先順位の値は、リテラルとして記述される整数、または整数値を持つ式です。
以下のリストは、ルールに優先順位を設定するための定数を示しています。
maximum: 最高の優先順位。値は 10 億です。high: 2 番目に高い優先順位。値は 100 万です。low: 2 番目に低い優先順位。値はマイナス 100 万です。minimum: 最も低い優先順位。値はマイナス 10 億です。