1 package com.ozacc.mail.mailet; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 import com.ozacc.mail.fetch.FetchMailPro; 8 import com.ozacc.mail.fetch.ReceivedMail; 9 10 /*** 11 * 12 * @author Tomohiro Otsuka 13 * @version $Id: MailetRunner.java,v 1.1.2.2 2005/01/18 07:22:20 otsuka Exp $ 14 */ 15 public class MailetRunner { 16 17 private List mailetWrapperList; 18 19 private FetchMailPro fetchMailPro; 20 21 /*** 22 * コンストラクタ。 23 */ 24 public MailetRunner() { 25 mailetWrapperList = new ArrayList(); 26 } 27 28 public void run() { 29 fetchMailPro.connect(); 30 try { 31 int count = fetchMailPro.getMailCount(); 32 for (int i = 1; i <= count; i++) { 33 ReceivedMail mail = fetchMailPro.getMail(i); 34 processMail(mail); 35 } 36 } finally { 37 if (fetchMailPro.isConnected()) { 38 fetchMailPro.disconnect(); 39 } 40 } 41 } 42 43 /*** 44 * 指定された受信メールに対してMailetを適用します。 45 * 46 * @param mail MailetUnitに渡す受信メール 47 */ 48 private void processMail(ReceivedMail mail) { 49 for (Iterator itr = mailetWrapperList.iterator(); itr.hasNext();) { 50 MailetWrapper mailetUnit = (MailetWrapper)itr.next(); 51 mailetUnit.execute(mail); 52 } 53 } 54 55 /*** 56 * @param fetchMailPro The fetchMailPro to set. 57 */ 58 public void setFetchMailPro(FetchMailPro fetchMailPro) { 59 this.fetchMailPro = fetchMailPro; 60 } 61 62 /*** 63 * @param mailetWrapperList 64 */ 65 public void setMailetWrapperList(List mailetWrapperList) { 66 this.mailetWrapperList = mailetWrapperList; 67 } 68 }