Casting on Drools rules

Problem

Imagine you insert pairs of type Base in the working memory as facts, but want to match only specific classes deriving the base class in the rules.

Solution

You can check for the object class and then perform a cast.

rule "A rule"
when
	Pair(first != null, first.class == Class1.class,
	second != null, second.class == Class2.class, 
	$c1 : ((Class1)first), $c2 : ((Class2)second)
then
        ...
end
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s