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  }