1 package com.ozacc.mail;
5 import org.apache.velocity.VelocityContext;
8 * Velocityと連携して動的にメールデータを生成し、そのデータからMailインスタンスを生成するインターフェース。
10 * @see com.ozacc.mail.impl.XMLVelocityMailBuilderImpl
11 * @see com.ozacc.mail.impl.JDomXMLMailBuilder
14 * @author Tomohiro Otsuka
15 * @version $Id: VelocityMailBuilder.java,v 1.4.2.3 2005/01/21 16:51:20 otsuka Exp $
17 public interface VelocityMailBuilder extends MailBuilder {
20 * 指定されたクラスパス上のファイルを読み込んでMailインスタンスを生成します。
21 * 指定されたVelocityContextを使って、XMLファイルの内容を動的に生成できます。
23 * @param classPath メール内容を記述したファイルのパス
24 * @param context VelocityContext
25 * @return 生成されたMailインスタンス
26 * @throws MailBuildException Mailインスタンスの生成に失敗した場合
28 Mail buildMail(String classPath, VelocityContext context) throws MailBuildException;
31 * 指定されたファイルを読み込んでMailインスタンスを生成します。
32 * 指定されたVelocityContextを使って、XMLファイルの内容を動的に生成できます。
34 * @param file メール内容を記述したファイル
35 * @param context VelocityContext
36 * @return 生成されたMailインスタンス
37 * @throws MailBuildException Mailインスタンスの生成に失敗した場合
39 Mail buildMail(File file, VelocityContext context) throws MailBuildException;
49 * VelocityContextとマージする前のメールデータをキャッシュするかどうかを設定します。
52 * キャッシュのキーは、<code>buildMail()</code>メソッド引数のメールデータファイルのクラスパス或いはファイルパスです。
54 * また、メールデータファイルの内容が途中で更新されても、キャッシュされているメールデータは更新されませんので注意してください。
56 * <code>false</code>を指定してこのメソッドを呼ぶとメールデータキャッシュはクリアされます。
59 * @param cacheEnabled メールデータをキャッシュする場合は true
61 void setCacheEnabled(boolean cacheEnabled);
64 * VelocityContextとマージする前のメールデータをキャッシュする設定かどうか判定します。
67 * @return メールデータをキャッシュする設定の場合は true
69 boolean isCacheEnabled();