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