Class TemplateEngineProcessedResult

java.lang.Object
nablarch.common.mail.TemplateEngineProcessedResult

public class TemplateEngineProcessedResult extends Object
テンプレートエンジンで処理した結果を保持するクラス。
Author:
Taichi Uragami
  • Field Details

  • Constructor Details

    • TemplateEngineProcessedResult

      public TemplateEngineProcessedResult(String subject, String mailBody, String charset)
      TemplateEngineProcessedResultのインスタンスを生成する。
      Parameters:
      subject - 件名
      mailBody - 本文
      charset - 文字セット
  • Method Details

    • valueOf

      public static TemplateEngineProcessedResult valueOf(String value)
      ルールに則って文字列を件名と本文に分割してTemplateEngineProcessedResultのインスタンスを生成するファクトリーメソッド。

      これはデフォルトのデリミタを指定してvalueOf(String, String)を呼び出すショートカットである。

      Parameters:
      value - 件名と本文を含む文字列
      Returns:
      件名と本文がセットされたインスタンス
    • valueOf

      public static TemplateEngineProcessedResult valueOf(String value, String delimiter) throws IllegalArgumentException
      テンプレートエンジンで処理済みの文字列を件名と本文に分割してTemplateEngineProcessedResultのインスタンスを生成するファクトリーメソッド。

      文字列はデリミタによって件名と本文に分割される。 基本的なルールは次の通り。

      1. デリミタは引数delimiterで表される文字列だけからなる行とする(つまり前後に余計な文字を含むものはデリミタとみなさない)
      2. デリミタより前にある行は件名とみなす
      3. デリミタより後の文字列をすべて本文とみなす

      例えば、このファクトリーメソッドに次のような文字列が渡されたとする。

      テスト件名
       ---
       テスト本文1
       テスト本文2
       テスト本文3
       

      デリミタが"---"である場合、テスト件名が件名となり、テスト本文1以降が本文となる。

      デリミタよりも前、件名を期待するエリアでは空行は無視される。 つまり、次のような文字列は有効である。

      
       テスト件名
       
       
       ---
       テスト本文1
       テスト本文2
       テスト本文3
       

      デリミタよりも後、本文を構成するエリアでは空行も無視されずそのまま本文として扱われる。

      なお、このファクトリーメソッドでは文字セットは設定されない。

      Parameters:
      value - 件名とデリミタと本文を含む文字列
      delimiter - 件名と本文を分けるデリミタ
      Returns:
      件名と本文がセットされたインスタンス
      Throws:
      IllegalArgumentException - 次のいずれかの場合に投げられる。
      • デリミタが含まれない場合
      • 件名が無い場合
      • 件名が改行を含んで複数行に渡っている場合
      • 本文が無い場合
    • getSubject

      public String getSubject()
      件名を取得する。
      Returns:
      件名
    • getMailBody

      public String getMailBody()
      本文を取得する。
      Returns:
      本文
    • getCharset

      public String getCharset()
      文字セットを取得する。
      Returns:
      文字セット