To avoid misunderstandings: yes, equals() is written according to hashCode,
i.e., according to the usual Java conventions.

If

   - an object of class Two contains a member of class One, and
   - one object Two and one object One are facts, and
   - a rule modifies One, changing its hashCode

then

   another rule containing the patterns
   $one: One()
   $two: Two( $x: one == $one )

does NOT fire (any more).

If you use the constraint
   one == $one || != $one
the rule will fire, and you can observe that hashCode results for $one and
$x are the same and that $one.equals( $x ) returns true.

Reproduced using 5.1.1 and 5.2.x

-W
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to