SAX2 RFD: Inheritance vs. Modification vs. Amalgamation

Miles Sabin msabin at cromwellmedia.co.uk
Wed May 19 22:24:08 BST 1999


A quick follow up to my last post ...

I did a sanity check on the mechanism I descibed earlier 
and it looks as though there's a problem. It works 
perfectly as described for Sun JDK1.2.1 (with the 
exception that the error to catch is AbstractMethodError 
rather than NoSuchMethodError). Sadly it fails for Sun 
JDK 1.1.8 (the only other I've got handy  at the mo').

The problem is that the older JDK won't allow the
instantiation of a class which implements an older
version an interface when a newer version of that
interface is present on the classpath: new throws an 
IncompatibleClassChangeError (as a result of a failure 
during classloading I presume). By comparison JDK1.2.1 
allows the instantiation, and throws AbstractMethodErrors
if methods from the newer interface are called on the
old class. The upshot is that with JDK1.1.8 you
wouldn't be able to create an instance of a SAX1
parser in the presence of the SAX2 interfaces, which
means that my adapter approach can't get off the
ground.

As far as I can see JDK1.2.1 is following the JLS here,
and JDK1.1.8 (and possibly earlier) is in error. The 
fact that it's JDK1.1.Xs fault doesn't help all that 
much tho'. I'll report it as a bug and see what feedback
I get from Sun.

If anyone's want's a peek at the code for the test cases
to make sure I'm not missing something obvious, please
let me know.

Assuming this is a genuine problem I have to pick one
of Davids options. I'd have to go along with Tim and
back option (2).

Cheers,


Miles

-- 
Miles Sabin                          Cromwell Media
Internet Systems Architect           5/6 Glenthorne Mews
+44 (0)181 410 2230                  London, W6 0LJ
msabin at cromwellmedia.co.uk           England

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list