第9章 制約
制約は、制約が含まれる要素が実行される場合に評価されるブール式です。分岐ゲートウェイなど、プロセスのさまざまな場所で制約を使用できます。
Red Hat Process Automation Manager は、以下を含む 2 種類の制約をサポートします。
コード制約: Java、Javascript、Drools、または MVEL で定義される制約。コード制約は、グローバル変数やプロセス変数など、作業メモリー内のデータにアクセスできます。以下のコード制約の例には、プロセスの
personを変数として含めます。Java コードの制約の例
return person.getAge() > 20;
return person.getAge() > 20;Copy to Clipboard Copied! Toggle word wrap Toggle overflow MVEL コードの制約の例
return person.age > 20;
return person.age > 20;Copy to Clipboard Copied! Toggle word wrap Toggle overflow Javascript コードの制約の例
person.age > 20
person.age > 20Copy to Clipboard Copied! Toggle word wrap Toggle overflow ルール制約: DRL ルール条件の形式で定義される制約。ルール制約は、グローバル変数など、作業メモリー内のデータにアクセスできます。ただし、ルール制約はプロセス内で直接変数にアクセスできず、プロセスインスタンスを使用します。親プロセスインスタンスの参照を取得するには、
WorkflowProcessInstanceタイプのprocessInstance変数を使用します。注記必要に応じてプロセスインスタンスをセッションに挿入して更新できます (たとえば、プロセスで Java コードや on-entry、on-exit、または明示的なアクションを使用)。
以下の例は、プロセス内の
name変数の値と同じ名前を持つユーザーを検索するルール制約を示しています。プロセス変数の割り当てを伴うルール制約の例
processInstance : WorkflowProcessInstance() Person( name == ( processInstance.getVariable("name") ) ) # add more constraints here ...processInstance : WorkflowProcessInstance() Person( name == ( processInstance.getVariable("name") ) ) # add more constraints here ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow