Author: jboynes Date: Wed Feb 2 19:41:11 2005 New Revision: 151116 URL: http://svn.apache.org/viewcvs?view=rev&rev=151116 Log: support getAllRecipients although fairly inefficiently
Modified: geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java Modified: geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java?view=diff&r1=151115&r2=151116 ============================================================================== --- geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java (original) +++ geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java Wed Feb 2 19:41:11 2005 @@ -26,6 +26,9 @@ import java.text.ParseException; import java.util.Date; import java.util.Enumeration; +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; import javax.activation.DataHandler; import javax.mail.Address; import javax.mail.Flags; @@ -243,8 +246,19 @@ } public Address[] getAllRecipients() throws MessagingException { - // TODO Implement method - throw new UnsupportedOperationException("Method not yet implemented"); + List recipients = new ArrayList(); + addRecipientsToList(recipients, RecipientType.TO); + addRecipientsToList(recipients, RecipientType.CC); + addRecipientsToList(recipients, RecipientType.BCC); + addRecipientsToList(recipients, RecipientType.NEWSGROUPS); + return (Address[]) recipients.toArray(new Address[recipients.size()]); + } + + private void addRecipientsToList(List list, Message.RecipientType type) throws MessagingException { + Address[] recipients = getHeaderAsAddresses(getHeaderForRecipientType(type), isStrictAddressing()); + if (recipients != null) { + list.addAll(Arrays.asList(recipients)); + } } public void setRecipients(Message.RecipientType type, Address[] addresses) throws MessagingException {