/* * MessageWrapReplyMultipart.java * * Created on den 23 september 2001, 18:03 */ 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 MessageWrapReplyMultipart extends MessageWrapShowMultipart { protected Message replyMessage; /** Skapar nytt MessageWrapReplyMultipart * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation */ protected MessageWrapReplyMultipart(Message message) { this(message, null); } /** Skapar nytt MessageWrapReplyMultipart * 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 MessageWrapReplyMultipart(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 tmp = super.getContent(); 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(tmp, "\n"); while (st.hasMoreTokens()) { content += (" > " + st.nextToken() + "\n"); } return content; } /** Returnerar en tom Attachment-matris */ public Attachment[] getAttachments() throws MessagingException, IOException { return new Attachment[0]; } /** 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(); } }