[rules-users] DRL - Accessors that take arguments
Edson Tirelli
tirelli at post.com
Mon Jun 1 08:53:25 EDT 2009
For arbitrary method calls, the only way is to use an eval:
VO( eval( computePrice("key") < 10 ) )
Although, if you have a method that returns a map, you can use simplified
Map syntax:
class VO {
...
public Map getComputeMap() {...}
}
Then:
VO( computeMap["key"] < 10 )
[]s
Edson
2009/6/1 Vidya Chandrasekaran <aydiv.c at gmail.com>
>
> Hi,
>
> I am fairly new to Drools and am just getting my feet wet with writing
> rules.
>
> In my work, I have to integrate drools with classes that do not expose all
> properties via getXXX/ isXXX accessor methods but require a call of the form
> someMethod("keyvalue"). I have been using the MVEL dialect and do not see a
> way to call a function with arguments on the LHS side of a rule either in
> the documentation or the mailing list.
>
>
> In fact, I have been trying something like
>
> rule "rulename"
> agenda-group "evaluation"
> when
> $d: VO( computePrice("key") < 10) from entry-point "Inventory
> stream"
> then
> #
> end
>
> This fails with a 'no viable alternative at input '"key"' in rule. Is there
> a way this can be accomplished?
>
> Thanks,
> Vidya
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090601/4b8684b2/attachment.html
More information about the rules-users
mailing list