Hi Richard,
The "when" section matches fact (object) patterns, so your requirement could
be written as:-
when there is a Test Fact 'A' and another Test Fact 'B' where "the
'x'
property of 'A'" equals "the 'y' property of fact 'B'
plus 1" then.....
This would become:-
rule "Rule 1"
when
Test( $y : y )
Test( x == ($y + 1) )
then
System.out.println("Rule 1 matches");
end
By default both patterns can match the same object, so test data:-
A : x = 1, y = 1
B : x = 2, y = 1
Will cause the rule to activate twice:-
A and B
B and B
With kind regards,
Mike
_____
From: rules-users-bounces(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Richard Bremner
Sent: 02 May 2008 08:53
To: rules-users(a)lists.jboss.org
Subject: [rules-users] newbie question on "when" condition syntax
Hi,
say I have a class with two fields, x and y:
public class Test {
int x = 1;
int y = 2;
getters/setters...
}
I would like a rule which fires when y = x + 1
my initial thought would be something like:
rule "Rule 1"
when
test : Test (y == x + 1)
then
System.out.println("Rule 1 matches.");
end
but this is invalid syntax and I can not find any examples of such a rule.
I'm doing my best but reading the manual etc. I'm struggling with the syntax
here and can't figure it out.
any help really appreciated!