1
2
3
4
5
6 package com.ozacc.mail.fetch.impl.sk_jp;
7
8 import java.io.IOException;
9 import javax.mail.Part;
10 import javax.mail.MessagingException;
11 import javax.mail.internet.ContentType;
12
13 /***
14 * PartHandlerです。
15 * <p>
16 * MultipartUtility#process()に渡すことで、Message内の各Partオブジェクト
17 * に対してprocessPartが呼び出されます。<BR>
18 * 特定のMIMEタイプに対してのみ処理を行う場合などに有効です。
19 * </p><p>
20 * 使用方法としては、実装クラス上に各パートの処理結果を蓄積していき、
21 * MultipartUtility#process()メソッド復帰後にそのオブジェクトから最終結果を
22 * 取り出すような形式が考えられます。
23 * </p>
24 * @version $Revision: 1.1.2.1 $ $Date: 2004/09/29 00:57:59 $
25 * @author Shin
26 */
27 public interface PartHandler {
28
29 /***
30 * パートに対して処理を行います。
31 * <P>
32 * contextにはそのパートがmultipart/*の子パートである場合に、
33 * そのmultipart/*のMIMEタイプが渡されます。<BR>
34 * 続けて次のパートを処理するか否かを復帰値で返してください。
35 * </P><P>
36 * message/rfc822パートの内部も走査したい場合は、実装クラス内で
37 * 以下のようにコーディングしてください。
38 * </P>
39 * <PRE>if (part.isMimeType("message/rfc822")) {
40 * // message/rfc822パートの処理オブジェクト
41 * AnyHandler h = new AnyHandler();
42 * MultipartUtility.process(part, h);
43 * }
44 * </PRE>
45 * @return true:次のパート、或いは内包メッセージ内部も処理する
46 */
47 boolean processPart(Part part, ContentType context) throws MessagingException, IOException;
48 }