View Javadoc

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  }