Hi Lauren,
I don't see the behaviour you're seeing, at least not according to the
way I'm interpreting your question. Here JavaBean is a Bean with one
property "name", a String:
Jess, the Java Expert System Shell
Copyright (C) 1998 E.J. Friedman Hill and the Sandia Corporation
Jess Version 5.0a6 7/7/99
Jess> (bind ?x (new JavaBean))
<External-Address:JavaBean>
Jess> (printout t (get ?x name) crlf)
nil
Jess> (watch all)
TRUE
Jess> (defclass bean JavaBean)
JavaBean
Jess> (definstance bean ?x)
==> f-0 (bean (class <External-Address:java.lang.Class>) (name nil)
(OBJECT <External-Address:JavaBean>))
TRUE
Jess> (defrule foo (bean (name ?x)) => )
==> Activation: foo : f-0
foo: +1+1+t
TRUE
Jess>
I think Lauren Blau Halverson x1285 wrote:
>
> Am I seeing the expected behavior here:
>
> If a Java class A defines a property B as returning an Object, and an
> instance has the value null for B, a rule that looks like
> (defrule testB
> (A (B ?b)) ....
>
> will match. But if A defines the property B as returning a String, the
> rule will not match.
>
>
> Thanks,
> Lauren
---------------------------------------------------------
Ernest Friedman-Hill
Distributed Systems Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
Org. 8920, MS 9214 [EMAIL PROTECTED]
PO Box 969 http://herzberg.ca.sandia.gov
Livermore, CA 94550
---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list (use your own address!) List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------