/* * MessageWrapReply.java * * Created on den 23 september 2001, 17:47 */ package ip1.u9.util; import javax.mail.*; import javax.mail.internet.*; import java.io.IOException; import java.util.StringTokenizer; import ip1.u7.b.*; /** För allmän informaton om MessageWrap-klasserna, se MessageWrap * * @author Henrik Johansson, DS80 * @version ht2001 */ public class MessageWrapReply extends MessageWrapShow { protected Message replyMessage; /** Skapar nytt MessageWrapReply * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation */ protected MessageWrapReply(Message message) { this(message, null); } /** Skapar nytt MessageWrapReply * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation * @param server Kontoinformation som eventuellt läggs till i meddealnde tex avsändaradress eller signatur */ protected MessageWrapReply(Message message, ServerInfo server) { super(message, server); setReplyMessage(false); } private void setReplyMessage(boolean replyAll) { try { replyMessage = message.reply(replyAll); } catch(MessagingException e) { System.err.println(e.getMessage()); } } /**Returnerar signatursträngen från ServerInfo-objektet + basmeddelandets innehåll med ett '>' * föregående varje rad */ public String getContent() throws MessagingException, IOException { String content = ""; if(server.getSignature().length() > 0) content = "\n\n" + server.getSignature(); content += "\n\n >\n > " + getFrom().toString() + " wrote:\n >\n "; StringTokenizer st = new StringTokenizer(message.getContent().toString(), "\n"); while (st.hasMoreTokens()) { content += (" > " + st.nextToken() + "\n"); } return content; } /** Returnerar en InternetAddress-matris som innehåller basmeddelandets avsändare */ public InternetAddress[] getTO() throws MessagingException { return (InternetAddress[]) replyMessage.getRecipients(Message.RecipientType.TO); } public InternetAddress[] getCC() throws MessagingException { return (InternetAddress[]) replyMessage.getRecipients(Message.RecipientType.CC); } public InternetAddress[] getBCC() throws MessagingException { return (InternetAddress[]) replyMessage.getRecipients(Message.RecipientType.BCC); } /**Returnerar basmeddelandets ämesrad föregått av "Re:" */ public String getSubject() throws MessagingException { return replyMessage.getSubject(); } }