[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

SAX2: Handler Interfaces

  • From: David Megginson <david@m...>
  • To: "'xml-dev@x...'" <xml-dev@x...>
  • Date: Tue, 14 Mar 2000 20:44:47 -0500 (EST)

java implementing many interfaces
Box, Don writes:

 > 0) I think that the independence of ContentHandler, LexicalHandler,
 > DTDHandler and ErrorHandler are carried a bit too far. In general,
 > I would like to be able to ask the content handler for the lexical
 > handler interface (a la Java's cast operator or COM's
 > QueryInterface). To allow two distinct objects to be used, I would
 > bake in the getter method instead of relying on the underlying type
 > system.

I have often worried about the same thing, but there are a few reasons 
for the approach:

1. In Java, it's not possible to use multiple class inheritance, so a
   class that needs to inherit from something else (say, HashMap)
   cannot also inherit from HandlerBase (SAX1) or DefaultHandler
   (SAX2); that means that many implementors have to implement *every*
   method in the interface.  My own assumption in SAX1 was that many
   people would need to implement DocumentHandler, but that very few
   would be interested in DTDHandler, so it was an unfair burden to
   make everyone implement all of the callback methods.

2. In SAX2, LexicalHandler and DeclHandler are not required interfaces 
   -- that is, implementations are free not to support them -- and I
   expect that among those who do use them, LexicalHandler will be
   much more heavily used than DeclHandler, so again, it makes sense
   to separate them.

In Java, it's no problem for a single application class to implement
all of the interfaces -- I've been very careful to avoid method-name
collisions.  In COM, are you required to use a separate class to
implement each interface?  If so, maybe a different approach would
make sense for the COM implementation.

(I'll answer other points in separate replies.)


All the best,


David

-- 
David Megginson                 david@m...
           http://www.megginson.com/

***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.