View Javadoc

    1   package com.ozacc.mail.mailet;
    2
    3   import java.util.ArrayList;
    4   import java.util.Iterator;
    5   import java.util.List;
    6
    7   import com.ozacc.mail.fetch.ReceivedMail;
    8
    9   /***
    10   * MailetインスタンスとMatcherインスタンスのリストを持つMailetの実行単位となるクラス。
    11   *
    12   * @since 1.2
    13   * @author Tomohiro Otsuka
    14   * @version $Id: MailetWrapper.java,v 1.1.2.2 2005/01/23 06:47:01 otsuka Exp $
    15   */
    16  public class MailetWrapper {
    17
    18  	private Mailet mailet;
    19
    20  	private List matcherList;
    21
    22  	/***
    23  	 * コンストラクタ。
    24  	 */
    25  	public MailetWrapper() {
    26  		matcherList = new ArrayList();
    27  	}
    28
    29  	/***
    30  	 * コンストラクタ。
    31  	 *
    32  	 * @param mailet Mailetインスタンス
    33  	 * @param matcherList Matcherインスタンスのリスト
    34  	 */
    35  	public MailetWrapper(Mailet mailet, List matcherList) {
    36  		this();
    37  		this.mailet = mailet;
    38  		this.matcherList = matcherList;
    39  	}
    40
    41  	/***
    42  	 * リストされているMatcherの条件をクリアしたMailetを実行します。
    43  	 *
    44  	 * @param mail 受信メール
    45  	 */
    46  	public void execute(ReceivedMail mail) {
    47  		for (Iterator itr = matcherList.iterator(); itr.hasNext();) {
    48  			Matcher m = (Matcher)itr.next();
    49  			if (!m.match(mail)) {
    50  				return;
    51  			}
    52  		}
    53  		mailet.service(mail);
    54  	}
    55
    56  	/***
    57  	 * Mailetインスタンスを返します。
    58  	 *
    59  	 * @return Mailetインスタンス
    60  	 */
    61  	public Mailet getMailet() {
    62  		return mailet;
    63  	}
    64
    65  	/***
    66  	 * Mailetインスタンスをセットします。
    67  	 *
    68  	 * @param mailet Mailetインスタンス
    69  	 */
    70  	public void setMailet(Mailet mailet) {
    71  		this.mailet = mailet;
    72  	}
    73
    74  	/***
    75  	 * Matcherインスタンスのリストを返します。
    76  	 *
    77  	 * @return Matcherインスタンスのリスト
    78  	 */
    79  	public List getMatcherList() {
    80  		return matcherList;
    81  	}
    82
    83  	/***
    84  	 * Matcherインスタンスのリストをセットします。
    85  	 *
    86  	 * @param matcherList Matcherインスタンスのリスト
    87  	 */
    88  	public void setMatcherList(List matcherList) {
    89  		this.matcherList = matcherList;
    90  	}
    91  }