OSDN Git Service

CVS最新版の全ファイルを追加
[spring-ext/ozacc-mail.git] / src / java / com / ozacc / mail / fetch / impl / FetchMailImpl.java
1 package com.ozacc.mail.fetch.impl;\r
2 \r
3 import com.ozacc.mail.MailException;\r
4 import com.ozacc.mail.fetch.FetchMail;\r
5 import com.ozacc.mail.fetch.ReceivedMail;\r
6 \r
7 /**\r
8  * <code>FetchMail</code>インターフェースの実装クラス。\r
9  * <p>\r
10  * <code>FetchMailProImpl</code>クラスに処理を委譲しています。\r
11  * \r
12  * @since 1.2\r
13  * @see FetchMailProImpl\r
14  * \r
15  * @author Tomohiro Otsuka\r
16  * @version $Id: FetchMailImpl.java,v 1.1.2.6 2005/01/29 22:33:40 otsuka Exp $\r
17  */\r
18 public class FetchMailImpl implements FetchMail {\r
19 \r
20         /** デフォルトのSMTPサーバ。「localhost」 */\r
21         public static final String DEFAULT_HOST = "localhost";\r
22 \r
23         /** デフォルトのプロトコル。「pop3」 */\r
24         public static final String DEFAULT_PROTOCOL = "pop3";\r
25 \r
26         /**\r
27          * デフォルトのポート。「-1」<br>\r
28          * -1はプロトコルに応じた適切なポートを設定する特別な値。\r
29          */\r
30         public static final int DEFAULT_PORT = -1;\r
31 \r
32         private static final String INBOX_NAME = "INBOX";\r
33 \r
34         private String host = DEFAULT_HOST;\r
35 \r
36         private String protocol = DEFAULT_PROTOCOL;\r
37 \r
38         private int port = DEFAULT_PORT;\r
39 \r
40         private String username;\r
41 \r
42         private String password;\r
43 \r
44         /**\r
45          * コンストラクタ。\r
46          */\r
47         public FetchMailImpl() {}\r
48 \r
49         /**\r
50          * @see com.ozacc.mail.fetch.FetchMail#getMails()\r
51          */\r
52         public ReceivedMail[] getMails() throws MailException {\r
53                 return getMails(false);\r
54         }\r
55 \r
56         /**\r
57          * @see com.ozacc.mail.fetch.FetchMail#getMails(boolean)\r
58          */\r
59         public ReceivedMail[] getMails(boolean delete) throws MailException {\r
60                 FetchMailProImpl fetchMailProImpl = createFetchMailProImpl();\r
61                 fetchMailProImpl.connect();\r
62                 try {\r
63                         return fetchMailProImpl.getMails(delete);\r
64                 } finally {\r
65                         fetchMailProImpl.disconnect();\r
66                 }\r
67         }\r
68 \r
69         /**\r
70          * サーバ情報をセットしたFetchMailProImplインスタンスを生成します。\r
71          * \r
72          * @return サーバ情報をセットしたFetchMailProImplインスタンス\r
73          */\r
74         private FetchMailProImpl createFetchMailProImpl() {\r
75                 FetchMailProImpl fmp = new FetchMailProImpl();\r
76                 fmp.setHost(host);\r
77                 fmp.setPort(port);\r
78                 fmp.setProtocol(protocol);\r
79                 fmp.setUsername(username);\r
80                 fmp.setPassword(password);\r
81                 return fmp;\r
82         }\r
83 \r
84         /**\r
85          * メールサーバのホスト名、またはIPアドレスをセットします。\r
86          * デフォルトは localhost です。\r
87          * \r
88          * @param host メールサーバのホスト名、またはIPアドレス\r
89          */\r
90         public void setHost(String host) {\r
91                 this.host = host;\r
92         }\r
93 \r
94         /**\r
95          * メールサーバの認証パスワード名をセットします。\r
96          * \r
97          * @param password メールサーバの認証パスワード\r
98          */\r
99         public void setPassword(String password) {\r
100                 this.password = password;\r
101         }\r
102 \r
103         /**\r
104          * メール受信に使用するポート番号をセットします。\r
105          * プロトコルに応じたポート番号が自動的に使用されますので、通常ここでポート番号をセットする必要はありません。\r
106          * \r
107          * @param port ポート番号\r
108          */\r
109         public void setPort(int port) {\r
110                 this.port = port;\r
111         }\r
112 \r
113         /**\r
114          * メール受信に使用するプロトコロルをセットします。\r
115          * 現在サポートされているプロトコルは、「pop3」と「imap」の二つです。\r
116          * デフォルトは「pop3」です。\r
117          * <p>\r
118          * POP3サーバへの認証をAPOPで行いたい場合は、プロトコル名ではありませんが、\r
119          * 「apop」を指定してください。APOP認証を使用するには、JavaMail 1.3.2以降が必要です。\r
120          * \r
121          * @param protocol プロトコル\r
122          */\r
123         public void setProtocol(String protocol) {\r
124                 this.protocol = protocol;\r
125         }\r
126 \r
127         /**\r
128          * メールサーバの認証ユーザ名をセットします。\r
129          * \r
130          * @param username メールサーバの認証ユーザ名\r
131          */\r
132         public void setUsername(String username) {\r
133                 this.username = username;\r
134         }\r
135 \r
136         /**\r
137          * メールサーバのホスト名、またはIPアドレスを返します。\r
138          * \r
139          * @return メールサーバのホスト名、またはIPアドレス\r
140          */\r
141         public String getHost() {\r
142                 return host;\r
143         }\r
144 \r
145         /**\r
146          * メールサーバの認証パスワードを返します。\r
147          * \r
148          * @return メールサーバの認証パスワード\r
149          */\r
150         public String getPassword() {\r
151                 return password;\r
152         }\r
153 \r
154         /**\r
155          * @return ポート番号\r
156          */\r
157         public int getPort() {\r
158                 return port;\r
159         }\r
160 \r
161         /**\r
162          * メール受信に使用するプロトコロルをセットします。\r
163          * \r
164          * @return プロトコル\r
165          */\r
166         public String getProtocol() {\r
167                 return protocol;\r
168         }\r
169 \r
170         /**\r
171          * メールサーバの認証ユーザ名を返します。\r
172          * \r
173          * @return メールサーバの認証ユーザ名\r
174          */\r
175         public String getUsername() {\r
176                 return username;\r
177         }\r
178 }