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]
---------------------------------------------------------------------

Reply via email to