OSDN Git Service

328d2bf9ff0bca9a8d15366c3204fff521c1b992
[spring-ext/ozacc-mail.git] / src / main / java / com / ozacc / mail / fetch / impl / sk_jp / PartHandler.java
1 /*
2  * @(#) $Id: PartHandler.java,v 1.1.2.1 2004/09/29 00:57:59 otsuka Exp $
3  * $Revision: 1.1.2.1 $
4  * Copyright (c) 2000 Shin Kinoshita All Rights Reserved.
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 }