- From: Peter Meyer <petermeyer99@hotmail.com>
- Date: Thu, 22 Mar 2001 20:06:08 -0000
- To: james.melton@cylogix.com, www-dom@w3.org
- Message-ID: <F174WerOc0Ne0PaLI9m00009498@hotmail.com>
I do stand corrected and apologize.
Enclosed you find a version in C++ and Java that works...
Output:
C:\Visitors>java VisitorA
executing on a generic Node
executing on a NodeX
The problem with your version (and at the same time with my previous
argument) is that the base class/interface for the visitor MUST have all
versions of execute defined in order to work, no matter if the second
dispatch is done using different function names or same function names with
just different argument types.
It is still a working dual-dispatch, as argued before, but for the purpose
of a general interface this issue makes it less practical as the base
interface Visitor needs to be modified to contain all subclasses to be
called. Just extending the interface with new execute methods for the new
subclasses won't do, at least in Java.
BTW, the difference between your java version and mine is:
interface Visitor
{
public void execute(Node n);
public void execute(NodeX n); <--- Needs to be defined in base IF
}
>From: James Melton <james.melton@cylogix.com>
>To: Peter Meyer <petermeyer99@hotmail.com>
>Subject: Re: Type-safe iteration over the DOM in DOM 2 & 3?
>Date: Thu, 22 Mar 2001 13:19:09 -0500
>
>I have already tested this and come to my previous conclusion. Attached
>are the files I used to test.
>
>Here is my output:
> $ java VisitorA
> executing on a generic Node
> executing on a generic Node
>
>Here is the java version I'm using:
> $ java -version
> java version "1.2.2"
> Solaris VM (build Solaris_JDK_1.2.2_05, native threads, sunwjit)
>
>Hope this clarifies the discrepancy we see.
>Jim.
>
>
>Peter Meyer wrote:
> >
> > James,
> > what you write is, to my best knowledge, simply not correct.
> >
> > First of all, the example I gave you works fine even with overloaded
>visit
> > methods (please givue it a try), and secondly, there is a double
>dispatch
> > happening in exactly the sense of the section of the GoF book you cite.
> >
>
>____________________________________________________________
>James Melton CyLogix
>609.750.5190 609.750.5100
>james.melton@cylogix.com www.cylogix.com
><< Visitor.zip >>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
Attachments
- application/x-zip-compressed attachment: visitors.zip
Received on Thursday, 22 March 2001 15:06:44 UTC