Harmeet, SpoolRepository currently extends MailRepository. I can't see any benefit of a super interface for all repository types, after all theres not a lot of common functionality apart from "get(key)"
I can see the benefit of extending UserRepository to provide different functions, but we should perhaps have some means of identifying different types other than resort to introspection, in any case I don't think this is a trivial issue, and perhaps we should consider making mail and spool repositories both inherit from a single common interface so that they are peers rather than a rather arbitrarily parent and child. Better brains than mine have discussed this already. As far as this series of commits is concerned I want to simply re-factor avalon repository access out of the standard mailets, and make mailets gain repository access through contracts defined by the MailetAPI. This means I'm refactoring some interfaces from James into Mailet, adding methods and implementing them. What I'm conciously *not* doing is altering the logic or architecture in any way beyond my self-imposed remit. This in order that everyone else can see, test and comment on what I've done. Hopefully so that I don't introduce any badness, but also so that whatever other API changes can or will be encouraged by these changes isn't simply on my whim, but has some clear architectural benefit. I'm imposing a limit on myself for this work, limiting it to changes to the MailetAPI and James aimed at improving the lot of mailet writers, which includes these changes plus the classloading issues discussed earlier and on the wiki. Otherwise I'll get no work done, earn no money and my wife will have at me with a frying pan ;-) Noel and I have argued at length about mailet logging, and as he was proposing it and me opposing it I'll leave it to him to flesh out the initial offering. Once my changes are complete we may have enough v3 differences to make it worth releasing an early access milestone for mailet developers to comment on and direct further changes. d. > -----Original Message----- > From: Harmeet Bedi [mailto:[EMAIL PROTECTED]] > Sent: 06 January 2003 17:39 > To: James Developers List > Subject: Re: cvs commit: jakarta-james/src/java/org/apache/james > James.java > > > ----- Original Message ----- > From: <[EMAIL PROTECTED]> > > + MailRepository getMailRepository(String specificationURL) throws > MessagingException; > > + SpoolRepository getMailSpool(String specificationURL) throws > MessagingException; > > +//void getUserRepository() throws MessagingException; > > > Danny, what do you think about having an abstraction of > Repository type and > Repository. There could be multiple repositories. For instance there could > be a Mail, Spool, Spam and may be user specified repositories. > > Harmeet > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
