I'm writing an email generator component, and I've been struggling to understand the object interaction involved with Generator, Source, XMLizable, XMLizer, etc.
<complaint mode="despondent"> At present the documentation of this part of the object model is really terrible ... quite a bit of the model is deprecated, there's no UML ... there's very little JavaDoc ... I'm reduced to reading screeds of source code and trying to figure out the interaction myself. Also, the Avalon people are refactoring their code and I couldn't even find the XMLizer class at all! </complaint> I'm hoping for some pointers so I can see where this part of Cocoon's architecture is going, so I can write this component not in an old deprecated or obsolete way, and so I can write up some documentation. I'd like to produce a doc which explains how to write a Generator and a Source and why. Alright ... now I've had my complaint I'll continue ;-) I want to be able to generate XMTP (XML vocabulary for email) from various sources: from a file or url, or from some JavaMail provider. I considered writing URL handlers for each JavaMail provider but now I think it's better to produce a single JavaMail component that will do it. It seems to me that I don't need XMLizer, whose job is to parse an InputStream of a specified mime-type and generate SAX events. In my case, I can use JavaMail to parse "message/rfc822". Currently I have a MIMEMessageGenerator which parses "message/rfc822" content from a Source by getting its InputStream. Should I just write a JavaMailSource which is also XMLizable? Then I can use my existing MIMEMessageGenerator without changes? Can someone give me some pointers for how to write the JavaMailSource so that it can be configured? I understand I can write a JavaMailSourceFactory that could pool connections to particular JavaMail providers, or to particular folders. Is this the way to do it? Thanks in advance for any advice or pointers! Cheers!! Con --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]