Class VelocityMailProcessor

java.lang.Object
nablarch.integration.mail.velocity.VelocityMailProcessor
All Implemented Interfaces:
TemplateEngineMailProcessor

public class VelocityMailProcessor extends Object implements TemplateEngineMailProcessor
Velocityを使用するTemplateEngineMailProcessorの実装クラス。
  • Constructor Details

    • VelocityMailProcessor

      public VelocityMailProcessor()
  • Method Details

    • process

      public TemplateEngineProcessedResult process(String templateId, String lang, Map<String,Object> variables)
      テンプレートIDから取得されたテンプレートと変数をマージして、その結果を返す。

      テンプレートの検索はVelocityEngine.getTemplate(String)が使われる。 テンプレートと変数のマージはTemplate.merge(Context, Writer)が使われる。

      ※この実装ではテンプレートの検索が多言語対応していないため、第二引数の言語は使用されない。

      Specified by:
      process in interface TemplateEngineMailProcessor
      Parameters:
      templateId - テンプレートID
      lang - 言語(nullでもよい)
      variables - 変数
      Returns:
      処理結果
      See Also:
      • VelocityEngine.getTemplate(String)
      • Template.merge(Context, Writer)
    • createContext

      protected org.apache.velocity.context.Context createContext(Map<String,Object> variables)
      Contextを作成する。
      Parameters:
      variables - process(String, String, Map)に渡された変数
      Returns:
      Contextのインスタンス
    • setVelocityEngine

      public void setVelocityEngine(org.apache.velocity.app.VelocityEngine velocityEngine)
      VelocityのエントリーポイントとなるVelocityEngineを設定する。
      Parameters:
      velocityEngine - Velocityのエンジン
    • setDelimiter

      public void setDelimiter(String delimiter)
      件名と本文を分けるデリミタを設定する。

      なにも設定されていなければデフォルトのデリミタが使用される。

      Parameters:
      delimiter - 件名と本文を分けるデリミタ