ルール間に簡単な優先度を設定する

ルールには、静的または動的にすることができる優先度があります。 定数を使用して静的優先度を定義したり、またはルール・セット変数を含む式を使用して動的優先度を定義したりします。
ルールの実行順序を定義するには、関連するルール成果物のプロパティー・ビューのルールの優先順位を優先順位 プロパティーで設定してください。
注: プロパティーを編集できるようにするには、 「プロパティー」 ビューの 「値」 列ヘッダーの横に、手のアイコン プロパティーを編集可能にするための「手書き」アイコン が表示されていることを確認してください。

静的優先度

ルール間のルール実行の順序を変更する場合は、static 優先度を使用します。 静的優先度は、整数であり、ルール間の優先度を決定する相対値です。 同じルールの複数のインスタンスが同時に実行可能である場合、static 優先度を使用して、 それらのインスタンス間の実行順序を変更することもできます。

静的優先順位は、定数を使用して定義してください。 「優先度」プロパティーの「値」フィールドに、優先度を表す数値を入力します。 この数値は、-109 から +109 までの任意の Java™ 整数値にすることができます。 数値が大きいほど、ルールの実行優先度も高くなります。

動的優先度

dynamic 優先度は、ルールの条件部分にバインドされている ルール・セット変数に値が依存する式です。
注: 動的ルール優先順位を持つルールを選択する Sequential モードのルール・タスクがルール・セット・アーカイブに含まれている場合、エラー・メッセージが表示されます。

「優先度」プロパティーの「値」フィールドに、ルール・セット変数を使用する式を入力します。 式では、スコープがルール・セット全体に適用される場合、ルールの条件部分で定義された変数を使用できます。 式が整数以外の数値を返す場合は、Java 言語仕様に従って整数に変換されます。

以下に、2 つの例を示します。
  • prior1 + ?p

  • -?a

定数

ルールの優先順位に定数を使用できます。 これらの優先順位の値は、リテラルとして記述される整数、または整数値を持つ式です。

以下のリストは、ルールに優先順位を設定するための定数を示しています。

  • maximum: 最高の優先順位。値は 10 億です。
  • high: 2 番目に高い優先順位。値は 100 万です。
  • low: 2 番目に低い優先順位。値はマイナス 100 万です。
  • minimum: 最も低い優先順位。値はマイナス 10 億です。