/* * MessageWrap.java * * Created on den 22 september 2001, 16:23 */ package ip1.u9.util; import javax.mail.*; import javax.mail.internet.*; import java.io.*; import ip1.u7.b.*; /** MessageWrap är basklass för MessageWrap-klasserna som * formaterar och ibland ger visst innehåll till meddelanden. * om användaren tex besvarar ett e-postmeddelande lägger MessageWrap-objektet till * det gamla meddelandet med någon markering (> före varje rad) i det nya meddelandets innehåll. * MessageWrap lägger också till avsändare om det finns tillgängligt i den aktuella ServerInfo-instansen. * MessageWrap-klasser skapas aldrig direkt i stället anropar man MessageWrapFactory.getMessageWrap(Message, MessageType) * där Message är ett meddelande som skall besvaras, vidaresändas, visas m.m. eller null om ett nytt meddelande skall skickas. * MessageType visar vad man vill använda sitt MessageWrap till. * * @author Henrik Johansson, DS80 * @version ht2001 */ public class MessageWrap { /** Basmeddelande som skall formateras och eventuellt ges tilläggsinformation*/ protected Message message; /** Kontoinformation som eventuellt läggs till i meddealnde tex avsändaradress eller signatur*/ protected ServerInfo server; /** Skapar nytt MessageWrap * Anropas alltid via MessageWrapFactory * * @param message basmeddelande som skall formateras och eventuellt ges tilläggsinformation */ protected MessageWrap(Message message) { this(message, null); } /** Skapar nytt MessageWrap * 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 MessageWrap(Message message, ServerInfo server) { this.message = message; this.server = server; } protected Message getMessage() { return message; } /** returnerar eventuell signatursträng från kontoinformationen */ public String getContent() throws MessagingException, IOException { if(server.getSignature().length() > 0) return "\n\n" + server.getSignature(); else return ""; } /** returnerar en tom Attachment-matris */ public Attachment[] getAttachments() throws MessagingException, IOException{ return new Attachment[0]; } /** returnerar en tom sträng */ public String getSubject() throws MessagingException { return ""; } /** Returnerar en tom String-matris */ public String[] getRecipients() throws MessagingException { return new String[0]; } /** Returnerar en tom InternetAddress-matris */ public InternetAddress[] getTO() throws MessagingException { return new InternetAddress[0]; } /** Returnerar en tom InternetAddress-matris */ public InternetAddress[] getCC() throws MessagingException { return new InternetAddress[0]; } public InternetAddress[] getBCC() throws MessagingException { return new InternetAddress[0]; } /**Returnerar en InternetAddress-matris som hämtar adressen från ServerInfo-objektet */ public InternetAddress[] getFrom() throws MessagingException { try { return new InternetAddress[] {new InternetAddress(server.getEmailAddress(), server.getName())}; } catch(UnsupportedEncodingException e) { System.out.println(e.getMessage()); } return null; } }