Noel J. Bergman wrote:
Stefano Bagnara wrote:

This is way past 2.4, but other than that ... :-)

1) Remove the MailRepository interface and up-merge MailRepositories in
SpoolRepositories.

Although today the SpoolRepository is a specialized MailRepository, they are
actually quite different, and should be separate.  The spool could end up
being JMS, JDBC, JavaSpace, whereas the MailRepository will have different
structural and retrieval semantics.

The reasoning behind the choice to merge MailRepository to SpoolRepository and introduce a new MessageRepository instead of migrating MailRepository to MessageRepository is:

1st. Greater backward compatibility: if we completely refactor the MailRepository much more "third party" code will become deprecated

2nd. Avoid confusion: MessageRepository will only store MimeMessage and not the envelope informations of the Mail object. MailRepository currently store both, so people could expect this to be also true for a refactored MailRepository.

As Joachim suggests we could even introduce super-interfaces containing only subsets of the SpoolRepository or the MessageRepository interface to simplify the introduction of limited implementations: I agree because this would enhance encapsulation and readability of the code. I think this is an easy task to do when the right interfaces are in place.

Stefano


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to