I whould like to change this in the next release of mailet api. But before that we should tag and release the current mailet stuff because the change is not backward compatible.

This is the way i whould fix it:

Add the method:

void addRecipient(MailAddress rec)

And change the getRecipients() methods to use Collections.unmodifiableCollection(recipientCol);

WDYT ?

bye
Norman

Norman Maurer (JIRA) schrieb:
[ https://issues.apache.org/jira/browse/MAILET-5?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12494111 ]
Norman Maurer commented on MAILET-5:
------------------------------------

Moved from JAMES-558

Currently our getRecipients expose the internal collection and it is used that 
way.
-----------------------------------------------------------------------------------

                Key: MAILET-5
                URL: https://issues.apache.org/jira/browse/MAILET-5
            Project: Mailet API
         Issue Type: Improvement
           Reporter: Norman Maurer
        Assigned To: Norman Maurer

Currently our getRecipients expose the internal collection and it is used that 
way.
To add recipients we use getRecipients().add(), to store multiple times a 
single mail to different recipients we get the recipients collection and alter 
it between store of the mail object (in RemoteDelivery).
All of this seems to me bad practice and we should better encapsulate the 
recipients list in the mail object.
Maybe the simple way is to return immutable collections so we'll find bugs as 
soon as possible and add methods to add and remove recipients directly in the 
mail interface.


Reply via email to