[rules-users] Matching on instanceof without eval?

Edson Tirelli tirelli at post.com
Fri May 23 10:41:51 EDT 2008


   Interesting question. This is not supported right now, but I see no
reason (besides being a really technical, not business related constraint)
why we shouldn't support it.
   Just for the sake of exploring the issue, I played a bit with it and
realized this is probably a limitation in our
QualifiedIdentifierRestriction. There are work arounds, but I don't see any
advantage in them compared to the eval. For instance, something like this
will work:

position : Position(option : instrument, $oc : option.class )
Class( name == "some.package.OptionInstrument" ) from $oc

    Or, in case you actually assert an OptionInstrument class into the
working memory:

$oc : Class( name == "some.package.OptionInstrument" )
position : Position(option : instrument, option.class == $oc )

    So, for now, probably best to use the eval (as bellow), and if you may,
open a feature request for use to properly support it in the future.

position : Position(option : instrument, eval( option instanceof
OptionInstrument ) )

    []s
    Edson



2008/5/23 Barry Kaplan <groups1 at memelet.com>:

>
> I would like to match on the class of a field. I know I can use
> "eval(option
> instanceof OptionInstrument)", but my understanding is that the use of eval
> precludes indexing. What I want is something like the below, which does not
> work. Is some other mechanism other than putting type codes that are
> redundant with the class for this use case?
>
> thanks!
>
> ----
> rule "Long Call/Put, Short Uncovered Call/Put"
>        when
>                position : Position(option : instrument, option.class ==
> OptionInstrument.class)
>        then
>                ...
> end
> ----
>
> --
> View this message in context:
> http://www.nabble.com/Matching-on-instanceof-without-eval--tp17425953p17425953.html
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-users mailing list
> rules-users at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080523/a0908c26/attachment.html 


More information about the rules-users mailing list