Jai,

   You can try:

rule "Foo check with inline eval"
    when
        Foo( eval( a - (b + c) > 0 ) )
    then
          <do actions>
 end

   Or, what is better IMO:

rule "Foo check with return value predicate"
    when
        Foo( a > ( b + c ) )
    then
          <do actions>
 end

    Hope it helps.

    []s
    Edson


2008/3/4, Jai Vasanth <jaivasanth@gmail.com>:
Hi,


 Suppose I have a class Foo with integers a, b  and c  ( methods getA  getB and getC respectively ) and I Want to check if an object of Foo satisfies

a - (b + c) > 0

Is this the best way  I go about doing this ?

rule "Foo check"
    when
        Foo( varA : a , varB:b, varC:c )
        eval( varA - (varB + varC) > 0 )
    then
          <do actions>
 end



Writing this as

rule "Foo check"
    when
        Foo( a - (b + c) > 0 )
    then
          <do actions>
 end

doesnt seem to work. Its not able to find the variables (a, b and c ) from the getA getB and get C methods.

Thanks

Jai

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




--
  Edson Tirelli
  JBoss Drools Core Development
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com