avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler" <cziege...@s-und-n.de>
Subject Discussing New Interfaces
Date Wed, 14 Nov 2001 10:34:40 GMT

I just started moving some components from Cocoon over to Excalibur.
Rather than moving all at once, I would like to discuss the some
moved components and then add some more as the current interfaces
might have influence on the following components.

So, I added all the stuff to the xml and the source package of
scratchpad in excalibur.

a) XMLConsumer, AbstractXMLConsumer, ContentHandlerWrapper
   The XMLConsumer simply unifies LexicalHandler and ContentHandler.
   The AbstractXMLConsumer is an abstract implementation of this
   interface, simply doing nothing. And the ContentHandlerWrapper
   implements the XMLConsumer to wrap a ContentHandler or
   a ContentHandler and a LexicalHandler to an XMLConsumer.
   I think these components do not need discussion.

b) Parser, XercesParser, JaxpParser
   The Parser interface defines an XML Parser which can either send
   SAX events or create a DOM Document. XercesParser and JaxpParser
   are two implementations.
   I changed the Parser interface from the Cocoon version in order
   to make the implementation ThreadSafe - if possible. This change
   was already discussed on the Cocoon mailing list.

c) XMLizable and XMLFragment
   These marker interfaces are used to convert an arbitrary object
   to an DOM node or to send XML events.

d) Source, SourceHandler, SourceFactory
   Now this is more or less the source resolving component from Cocoon.
   The Source interface describes any source which is resolved by the
   SourceHandler. The SourceFactory describes pluggable protocols
   which can be used by the SourceHandler to resolve the systemIds.
   The other files in this package are implementation.

   We should discuss if you are all happy with those three interfaces.
   The usual process is to get the SourceHandler and get using this
   handler a Source object for a systemID. This Source object can
   then be asked for an InputStream, an InputSource or if it is
   XMLizable or XMLFragment for it's XML representation etc.
   These interfaces have been proved in Cocoon, but perhaps they can
   still be enhanced.

In addition we need a link to the monitor package. The simplest solution
might be to define a SourceResource in the monitor package which monitors
a Source object.

So, let's start discussing this. I'm really interested in your opinion,
even if have to start over from scratch....(just a joke)


To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>

View raw message