OSDN Git Service

CVS最新版の全ファイルを追加
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / mailet / MailetWrapper.java
1 package com.ozacc.mail.mailet;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Iterator;\r
5 import java.util.List;\r
6 \r
7 import com.ozacc.mail.fetch.ReceivedMail;\r
8 \r
9 /**\r
10  * MailetインスタンスとMatcherインスタンスのリストを持つMailetの実行単位となるクラス。\r
11  * \r
12  * @since 1.2\r
13  * @author Tomohiro Otsuka\r
14  * @version $Id: MailetWrapper.java,v 1.1.2.2 2005/01/23 06:47:01 otsuka Exp $\r
15  */\r
16 public class MailetWrapper {\r
17 \r
18         private Mailet mailet;\r
19 \r
20         private List matcherList;\r
21 \r
22         /**\r
23          * コンストラクタ。\r
24          */\r
25         public MailetWrapper() {\r
26                 matcherList = new ArrayList();\r
27         }\r
28 \r
29         /**\r
30          * コンストラクタ。\r
31          * \r
32          * @param mailet Mailetインスタンス\r
33          * @param matcherList Matcherインスタンスのリスト\r
34          */\r
35         public MailetWrapper(Mailet mailet, List matcherList) {\r
36                 this();\r
37                 this.mailet = mailet;\r
38                 this.matcherList = matcherList;\r
39         }\r
40 \r
41         /**\r
42          * リストされているMatcherの条件をクリアしたMailetを実行します。\r
43          * \r
44          * @param mail 受信メール\r
45          */\r
46         public void execute(ReceivedMail mail) {\r
47                 for (Iterator itr = matcherList.iterator(); itr.hasNext();) {\r
48                         Matcher m = (Matcher)itr.next();\r
49                         if (!m.match(mail)) {\r
50                                 return;\r
51                         }\r
52                 }\r
53                 mailet.service(mail);\r
54         }\r
55 \r
56         /**\r
57          * Mailetインスタンスを返します。\r
58          * \r
59          * @return Mailetインスタンス\r
60          */\r
61         public Mailet getMailet() {\r
62                 return mailet;\r
63         }\r
64 \r
65         /**\r
66          * Mailetインスタンスをセットします。\r
67          * \r
68          * @param mailet Mailetインスタンス\r
69          */\r
70         public void setMailet(Mailet mailet) {\r
71                 this.mailet = mailet;\r
72         }\r
73 \r
74         /**\r
75          * Matcherインスタンスのリストを返します。\r
76          * \r
77          * @return Matcherインスタンスのリスト\r
78          */\r
79         public List getMatcherList() {\r
80                 return matcherList;\r
81         }\r
82 \r
83         /**\r
84          * Matcherインスタンスのリストをセットします。\r
85          * \r
86          * @param matcherList Matcherインスタンスのリスト\r
87          */\r
88         public void setMatcherList(List matcherList) {\r
89                 this.matcherList = matcherList;\r
90         }\r
91 }