[rules-users] Better ways to write left hand sides
Wolfgang Laun
wolfgang.laun at gmail.com
Tue Sep 29 02:34:54 EDT 2009
On Tue, Sep 29, 2009 at 12:43 AM, Dave Schweisguth <dave at schweisguth.org>wrote:
> Greetings fellow Droolers,
>
> I've just begun using Drools and am very happy with it so far as it seems
> to
> be a great fit for what we want to do. My left hand sides are not quite
> beautiful enough, however, and I wondered if anyone could suggest
> improvements.
>
> 1) One of my facts' properties is a set of strings. The goal is to "grep"
> them for some search string. The most convenient syntax I've come up with
> so far is to give the fact a method anyTextContains which loops over the
> set and calls contains(searchString) on each member, and then use
>
> fact: Fact() eval(fact.anyTextContains("searchString"))
>
> in my LHS. It's compact enough, but I wondered whether it could be done
> without a custom method or eval. "from" seems not to be a possibility since
> the collection is of strings, not objects. Any suggestions?
>
But any java.lang.String is an Object, although without a field (in the
usual sense),
Nevertheless, try
rule "Match John"
when
Vote( $names : names ) // Set<String> names
String( this matches "John" ) from $names
then
System.out.println( "Hi John" );
end
-W
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20090929/dc67b23d/attachment.html
More information about the rules-users
mailing list