2011-07-13 10 views
0

私は簡単な質問があります - Droolsの同じクラスの2つのオブジェクトを比較することは可能ですか?そして、はいの場合は、どのように2つのオブジェクトを区別しますか?JBoss Droolsの同じクラスのオブジェクトを比較する

+0

あなたの質問をさらに詳しくお聞かせください。両方のオブジェクトが作業メモリにアサートされていますか?または、それらは作業メモリにアサートされている別のオブジェクトに含まれています。 – Perception

答えて

4

はい。

first : Object() 
second : Object(this != first) 

第1と第2は同じクラスですが、異なるインスタンスです。

0

フォローアップにお答えします。はい、両方のオブジェクトは、ルールを有効にするために作業メモリに存在する必要があります。 Toniの例では、 "first"は最初のオブジェクトにバインドされ、 "second"は2番目に(つまり、最初のオブジェクトにアクセスするために "first"を使用します)。オブジェクトのメソッドにアクセスするには、first.userIdやfirst.getUserId()などのmvel/java構文を使用できます。このように、同じユーザーIDを持つWMに2つの異なるオブジェクトがあるかどうかを確認するために:

when 
    $first : Object() 
    $second : Object(this != $first, userid==$first.userId) 
then 
... 

注意が、慣例により、あなたは、上記のように「$」で始まる変数を結合パターンを頻繁に表示されます。

hth

関連する問題