Yes, the "Object(..)" you see above is called a Column in drools terms
(drools 3). A column consists effectively of both the old <parameter> for
type information, and also any constraints on field values in that column.
So roughtly,
In drools 2:
<parameter id="foo">Foo</parameter>
<condition>foo.someMethod()</condition>
is in drools 3:
f: Foo(); eval(f.someMethod()); #semis are optional
Of course, the recommended approach is to use field contraints on java beans
now, for efficiency reasons.
On 4/5/06, Paul Smith <[EMAIL PROTECTED]> wrote:
>
> I'm trying to understand the differences between how Drools 3.0 decides if
> a
> rule is to fire or not and how Drools 2 did it. In drools 2 part of the
> decision was down to the <parameter> node in the drl xml that listed the
> objects applicable for that rule. In drools 3 there isn't one. From what I
> can gather it seems to be a case of what ojbects are evaluated in the
> 'when'
> (LHS). Is this the case? If so is the order that you assert the objects
> into
> working memory important? ie) does it have to correspond to the order that
> you evaluate them in the rule eg)
>
> rule "Country code must be entered"
>
> when
> Object1(attr1 == "1")
> Object2(attr1 == "1")
> then
> System.out.println("do something");
> end
>
> must be asserted into working memory in the order Objec1, Object2 or is it
> unimportant?
>
>