On 11/13/06, Tom Brown <[EMAIL PROTECTED]> wrote:
Tom, good points, but I wanted to clarify this one particlularly:
4) The match(Mail) method of matcher is poorly defined-- Is the Mail object modified based on the return from the match method call? If so, why is a "matcher" modifying the message? If not, why is a collection (rather than a simple boolean) being returned?
The matcher shouldn't modify the content of the mail, but it will return a collection of recipients which match the condition. If this is < the whole set of recipients it will split the message in two so that one has the matched recipients and one has the rest. For example if a message is destined for both local and remote delivery a copy with local recipients and one with remote is created. They *both* continue along the rest of the processing unless they are stopped for some reason, the net result is that the mail can move down more than one path of processing. This makes sense if you think about it. Original -> Local -> spam check -> virusscan -> local delivery Original -> Remote -> add habeas -> add footer -> remote delivery
