Hi Jake,

Jacob Kjome <[EMAIL PROTECTED]> wrote on 08/29/2006 10:02:22 PM:

> I'd like CoreDocumentImpl.callUserDataHandlers() methods to be 
> protected instead of package private.  The reason I'd like is that I 
> have a custom DOM implementation that extends DocumentImpl.  I need 
> to override cloneNode(boolean) to make sure an instance of my own 
> Document implementation gets created instead of the parent 
> implementation.  But then I can't access the callUserDataHandlers() 
> methods such as is being done in CoreDocumentImpl....
> 
>      public Node cloneNode(boolean deep) {
>          CoreDocumentImpl newdoc = new CoreDocumentImpl();
>          callUserDataHandlers(this, newdoc, 
UserDataHandler.NODE_CLONED);
>          cloneNode(newdoc, deep);
> 
>          return newdoc;
>      }
> 
> 
> ...or in DocumentImpl....
> 
>      public Node cloneNode(boolean deep) {
>          DocumentImpl newdoc = new DocumentImpl();
>          callUserDataHandlers(this, newdoc, 
UserDataHandler.NODE_CLONED);
>          cloneNode(newdoc, deep);
> 
>          // experimental
>          newdoc.mutationEvents = mutationEvents;
> 
>         return newdoc;
>      }
> 
> 
> If this is not objectionable, could this be done before the next 
release?

The HTML DOM [1] should probably be calling that method too and would need 
this change in order to call it. I'll put it on my TODO list. Just 
remember, you're taking a risk by extending or referencing Xerces' 
internals. Any class or interface marked with @xerces.internal could go 
away or have methods on them change in the future.

> Jake
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

Thanks.

[1] http://marc.theaimsgroup.com/?l=xerces-cvs&m=115169734127877&w=2

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to