What you need is called "inline eval expression" (see the Drools Expert
manual),
or an eval conditional element. The first one might be written as:
$c:Cheese(type == "chedar", eval( this.existsInShop("shopName") ) )
-W
On Mon, Jan 4, 2010 at 12:49 PM, orchid <[email protected]> wrote:
>
> Hi All,
>
> I'm trying to call a class method from the LHS of a rule in the following
> way:
>
> public class Cheese{
> private string type;
> //setters and getters
> public boolean existsInShop(String shop){
> ...
> return true;
> }
> }
>
> I would like to call the method "existsInShop" from a rule:
>
> Rule "Rule1"
> when
> $c:Cheese(type == "chedar", existsInShop "shopName")
> then
> System.out.println("Rule1 is fired");
> end
>
> I get the compilation error: "no viable alternative at input "shopName" in
> rule "Rule1" in pattern document". How can I call the method from the rule?
>
> Thanks in advance.
>
>
>
> --
> View this message in context:
> http://n3.nabble.com/Call-class-method-from-LHS-of-a-rule-tp108383p108383.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users