/* * ReplyMailTask.java * * Created on den 19 september 2001, 00:26 */ package ip1.u9; import ip1.u7.b.*; import javax.mail.*; import javax.mail.internet.*; import javax.swing.*; import java.util.*; import java.io.*; import ip1.u9.util.*; /** För allmän information om MailTask-klasserna, se ip1.7.b.MailTask * * @author Henrik Johansson,DS80 * @version ht2001 */ public class ForwardMailTask extends MailTask implements MessageChosenListener, ServerInfoChangeListener{ private Message message = null; private MailClientGUI controller; private ServerInfo serverInfo; /** Skapar en ny ForwardMailTask * * @param controller applikationens kontrollklass */ public ForwardMailTask(MailClientGUI controller) { super(controller); this.controller = controller; } /** initieringskod för ForwardMailTask. Anropas av kontrollanropet när MailTask skapas. * * @param controller applikationens kontrollklass */ protected void initMailTask(MailReceiverGUI controller) { controller.addMessageChosenListener(this); controller.addServerInfoChangeListener(this); this.setText("Vidarebefodra"); this.setEnabled(false); } /** Instruerar kontrollklassen att skicka ett e-postmeddelande mef hjälp av ett * MessageWrap-objekt för att vidaresända ett meddelande. */ protected void mailTascAction() { try { controller.sendMail(MessageWrapFactory.getMessageWrap(message, MessageType.FORWARD, serverInfo)); } catch(IOException e) { System.out.println(e.getMessage()); } catch(MessagingException e) { System.out.println(e.getMessage()); } } /** Tar emot ServerInfoChangeEvents. Gör ForwardMailTask tillgänglig för användaren. * *@param evt Eventet */ public void dispatchServerInfoChange(ServerInfoChangeEvent evt) { this.serverInfo = evt.getServerInfo(); this.setEnabled(false); } /** Tar emot MessageChosenEvents. Gör ForwardMailTask otillgänglig för användaren. * *@param evt Eventet */ public void dispatchMessageChosen(MessageChosenEvent evt) { if(evt.getMessage() != null) { message = evt.getMessage(); setEnabled(true); } else setEnabled(false); } }