You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jb...@apache.org on 2005/02/03 04:41:13 UTC

svn commit: r151116 - geronimo/trunk/specs/javamail/src/java/javax/mail/internet/MimeMessage.java

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 {