The events are triggered only when calling the methods that we generate specific for that type, there are no events generated for any of the XmlComplexContentImpl methods or its baseclasses (XmlComplexContentImpl is the class that almost all generated classes inherit from).
Cezar > -----Original Message----- > From: Worrell, Bryan A. [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 04, 2008 2:29 PM > To: user@xmlbeans.apache.org > Subject: XMLBeans Events > > Hi, > > I have recently read an article on the IBM developerWorks website > (http://www.ibm.com/developerworks/library/x-xmlbeanse/index.html ) > that describes how to use interface extensions to utilize events within > XMLBeans. I am able to register event listeners, fire events, and do > everything else they describe in the article but I am having a problem > where I set one XmlObject to another through use of the > XmlObject::set(XmlObject arg) method which does not execute my preSet() > and postSet() methods. > > This is an example using the PurchaseOrderDocument example found on the > XMLBeans tutorial page: > > public static void main(String[] args){ > PurchaseOrder po_one = > PurchaseOrderDocument.PurchaseOrder.Factory.newInstance(); > > po_one.addModelChangeListener(new IModelChangeListener(){ > public void modelChange(ModelChangeEvent evt){ > System.err.println("EVENT"); > } > }); > > PurchaseOrder po_two = > PurchaseOrderDocument.PurchaseOrder.Factory.newInstance(); > > po_one.addNewCustomer(); // prints "EVENT" on stderr > po_one.set(po_two); // does not print anything > po_one.addNewCustomer(); // prints "EVENT" on stderr > } > > > I am using an extremely stripped down version of the code on the IBM's > website for the static implementation files so that my preSet and > postSet methods basically do this: > > public static boolean preSet(...){ > return true; > } > > > public static void postSet(XmlObject xo, ...){ > ((IModelChangeListener)xo).fireModelChangeEvent(new > ModelChangeEvent(...)); > > return; > } > > > Is this happening because po_one.set(po_two) isn't really changing > anything about po_one except what it's pointing to in memory? > > > Thank you, > Bryan Worrell > > __ > Bryan Worrell > The MITRE Corporation > [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]