OSDN Git Service

CVS最新版の全ファイルを追加
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / mock / MockFetchMail.java
1 package com.ozacc.mail.mock;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.List;\r
5 \r
6 import org.apache.commons.logging.Log;\r
7 import org.apache.commons.logging.LogFactory;\r
8 \r
9 import com.ozacc.mail.MailException;\r
10 import com.ozacc.mail.fetch.FetchMail;\r
11 import com.ozacc.mail.fetch.ReceivedMail;\r
12 \r
13 /**\r
14  * FetchMailImplクラスのMock。<br>\r
15  * <code>setupGetMails()</code>メソッドで<code>ReceivedMail</code>インスタンスをセットすると、<code>getMails()</code>メソッドがそのインスタンスを返します。\r
16  * \r
17  * @since 1.2\r
18  * @author Tomohiro Otsuka\r
19  * @version $Id: MockFetchMail.java,v 1.1.2.3 2005/02/05 09:25:25 otsuka Exp $\r
20  */\r
21 public class MockFetchMail implements FetchMail {\r
22 \r
23         private static Log log = LogFactory.getLog(MockFetchMail.class);\r
24 \r
25         /** デフォルトのSMTPサーバ。「localhost」 */\r
26         public static final String DEFAULT_HOST = "localhost";\r
27 \r
28         /** デフォルトのプロトコル。「pop3」 */\r
29         public static final String DEFAULT_PROTOCOL = "pop3";\r
30 \r
31         /**\r
32          * デフォルトのポート。「-1」<br>\r
33          * -1はプロトコルに応じた適切なポートを設定する特別な値。\r
34          */\r
35         public static final int DEFAULT_PORT = -1;\r
36 \r
37         private static final String INBOX_NAME = "INBOX";\r
38 \r
39         private String host = DEFAULT_HOST;\r
40 \r
41         private String protocol = DEFAULT_PROTOCOL;\r
42 \r
43         private int port = DEFAULT_PORT;\r
44 \r
45         private String username;\r
46 \r
47         private String password;\r
48 \r
49         private List receivedMails;\r
50 \r
51         /**\r
52          * コンストラクタ。\r
53          */\r
54         public MockFetchMail() {\r
55                 super();\r
56                 receivedMails = new ArrayList();\r
57         }\r
58 \r
59         /**\r
60          * <code>MockFetchMail</code>の<code>getMails()</code>メソッドが返す\r
61          * <code>ReceivedMail</code>インスタンスをセットします。\r
62          * \r
63          * @param mail <code>getMails()</code>メソッドが返す<code>ReceivedMail</code>インスタンス\r
64          */\r
65         public void setupGetMails(ReceivedMail mail) {\r
66                 receivedMails.add(mail);\r
67         }\r
68 \r
69         /**\r
70          * <code>MockFetchMail</code>の<code>getMails()</code>メソッドが返す\r
71          * <code>ReceivedMail</code>インスタンスをセットします。\r
72          * \r
73          * @param mails <code>getMails()</code>メソッドが返す<code>ReceivedMail</code>インスタンス配列\r
74          */\r
75         public void setupGetMails(ReceivedMail[] mails) {\r
76                 for (int i = 0; i < mails.length; i++) {\r
77                         ReceivedMail mail = mails[i];\r
78                         setupGetMails(mail);\r
79                 }\r
80         }\r
81 \r
82         /**\r
83          * @see com.ozacc.mail.fetch.FetchMail#getMails()\r
84          */\r
85         public ReceivedMail[] getMails() throws MailException {\r
86                 log.debug(protocol.toUpperCase() + "サーバ[" + host + "]に接続しるフリ。");\r
87                 log.debug(protocol.toUpperCase() + "サーバ[" + host + "]に接続したフリ。");\r
88 \r
89                 if (receivedMails.size() > 0) {\r
90                         log.debug(receivedMails.size() + "通のメールを受信するフリ。");\r
91                 } else {\r
92                         log.debug("受信するフリをするメールはありません。");\r
93                 }\r
94                 try {\r
95                         return (ReceivedMail[])receivedMails.toArray(new ReceivedMail[receivedMails.size()]);\r
96                 } finally {\r
97                         log.debug(protocol.toUpperCase() + "サーバ[" + host + "]との接続を切断するフリ。");\r
98                         log.debug(protocol.toUpperCase() + "サーバ[" + host + "]との接続を切断したフリ。");\r
99                 }\r
100         }\r
101 \r
102         /**\r
103          * @see com.ozacc.mail.fetch.FetchMail#getMails(boolean)\r
104          */\r
105         public ReceivedMail[] getMails(boolean delete) throws MailException {\r
106                 ReceivedMail[] result = getMails();\r
107                 if (delete) {\r
108                         receivedMails.clear();\r
109                 }\r
110                 return result;\r
111         }\r
112 \r
113         /**\r
114          * @return Returns the host.\r
115          */\r
116         public String getHost() {\r
117                 return host;\r
118         }\r
119 \r
120         /**\r
121          * @param host The host to set.\r
122          */\r
123         public void setHost(String host) {\r
124                 this.host = host;\r
125         }\r
126 \r
127         /**\r
128          * @return Returns the password.\r
129          */\r
130         public String getPassword() {\r
131                 return password;\r
132         }\r
133 \r
134         /**\r
135          * @param password The password to set.\r
136          */\r
137         public void setPassword(String password) {\r
138                 this.password = password;\r
139         }\r
140 \r
141         /**\r
142          * @return Returns the port.\r
143          */\r
144         public int getPort() {\r
145                 return port;\r
146         }\r
147 \r
148         /**\r
149          * @param port The port to set.\r
150          */\r
151         public void setPort(int port) {\r
152                 this.port = port;\r
153         }\r
154 \r
155         /**\r
156          * @return Returns the protocol.\r
157          */\r
158         public String getProtocol() {\r
159                 return protocol;\r
160         }\r
161 \r
162         /**\r
163          * @param protocol The protocol to set.\r
164          */\r
165         public void setProtocol(String protocol) {\r
166                 this.protocol = protocol;\r
167         }\r
168 \r
169         /**\r
170          * @return Returns the username.\r
171          */\r
172         public String getUsername() {\r
173                 return username;\r
174         }\r
175 \r
176         /**\r
177          * @param username The username to set.\r
178          */\r
179         public void setUsername(String username) {\r
180                 this.username = username;\r
181         }\r
182 }