I think Young-Jin Lee wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> I am new to JESS and I got two questions when I read through Pump examples.
> 
> First of all, according to the JESS manual, "dynamic" should be declared on creation 
>of JavaBeans object, if the definstance facts stay up-to-date. However, there is no 
>"dynamic" in the pumps.clp at all. The only possible explanation would be that 
>"dynamic" feature is a default behavior. Is it true?

Yes, as stated in the documentation for "definstance" in manual
section 8.40 (6.1b1 manual.)

> 
> Second, this question is about how to make a JavaBean support 
>PropertyChangeListener. The Pump and Tank java classes first define 
>PropertyChangeSupport data member and then implement addPropertyChangeListener() and 
>removePropertyChangeListener() methods. There is no code adding the existing 
>knowledge base to these JavaBeans. I guess that (definstance tank (bind ?tank (new 
>Tank "MAIN"))) construct do all these works behind scenes. Is it a correct 
>understanding?
> 

Yes, as stated in the same place in the manual, reproduced here:


8.40. (definstance <tag> <Java object> [static | dynamic] )

Package:
    ReflectFunctions

Arguments:
    An atom, a Java object, and (optionally) one of the atoms static
or dynamic.

Returns:
    The fact-id of the new shadow fact.

Description:
    Creates a "shadow fact" representing the given Java object,
according to the named template (which should have come from
defclass.) If the atom static is not supplied as the optional third
argument, a PropertyChangeListener is installed in the given object,
so that Jess can keep the shadow fact updated if the object's
properties change.

    Note that it is an error for a given Java object to be installed
in more than one definstance at a time. The second and subsequent
definstance calls for a given object will return a fact-id with value
-1. 



---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550         http://herzberg.ca.sandia.gov

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