Class ValidationContext<T>

java.lang.Object
nablarch.core.validation.ValidationContext<T>
Type Parameters:
T - バリデーション結果で取得できる型

public class ValidationContext<T> extends Object
バリデーション実行中の情報を保持するクラス。
See Also:
  • Constructor Details

    • ValidationContext

      @Published(tag="architect") public ValidationContext(String prefix, Class<T> targetClass, FormCreator formCreator, Map<String,?> params, String validateFor)
      ValidationContextオブジェクトを生成する。
      Parameters:
      prefix - バリデーション対象のプレフィクス
      targetClass - バリデーション対象のクラス
      formCreator - FormCreator
      params - パラメータのMap
      validateFor - バリデーション対象メソッド
  • Method Details

    • addMessage

      @Published public void addMessage(String messageId, Object... params)
      メッセージを追加する。
      Parameters:
      messageId - メッセージID
      params - メッセージに埋め込む値
    • addMessages

      @Published(tag="architect") public void addMessages(List<Message> messages)
      メッセージを追加する。
      Parameters:
      messages - メッセージのリスト
    • addResultMessage

      @Published(tag="architect") public void addResultMessage(String propertyName, String messageId, Object... params)
      バリデーション結果を追加する。
      Parameters:
      propertyName - プロパティ名
      messageId - バリデーション結果メッセージのメッセージID
      params - メッセージのオプションパラメータ
      Throws:
      IllegalArgumentException - プロパティ名がnullまたは空文字だった場合
    • getMessage

      @Published(tag="architect") public StringResource getMessage(String messageId)
      メッセージIDに対応するメッセージを取得する。
      Parameters:
      messageId - メッセージID
      Returns:
      メッセージIDに対応するメッセージ
    • createObject

      @Published public T createObject()
      フォームオブジェクトを生成する。
      Returns:
      フォームオブジェクト
      Throws:
      IllegalStateException - フォームオブジェクトにバリデーションエラーのプロパティがある場合
    • createDirtyObject

      @Published(tag="architect") public T createDirtyObject()
      フォームオブジェクトを生成する。

      createObject()と異なり、生成前にフォームオブジェクトにバリデーションエラーがあるかチェックしない。
      そのため、バリデーションエラーがあるプロパティもフォームオブジェクトに設定される。
      ただし、プロパティをフォームオブジェクトのプロパティの型に変換できない場合は設定されない。

      Returns:
      フォームオブジェクト
    • getParameters

      @Published(tag="architect") public Object getParameters(String propertyName)
      プロパティ名に対応するプレフィクス付き文字列の配列を取得する。
      Parameters:
      propertyName - プロパティ名
      Returns:
      プロパティ名に対応するプレフィクス付き文字列の配列
    • putConvertedValue

      public void putConvertedValue(String propertyName, Object value)
      フォームオブジェクトのプロパティの型に変換したプロパティを追加する。
      Parameters:
      propertyName - 追加するプロパティ名
      value - 変換したプロパティの値
    • getConvertedValue

      @Published public Object getConvertedValue(String propertyName)
      フォームオブジェクトのプロパティの型に変換したプロパティを取得する。

      プロパティにバリデーションエラーがある場合も変換した値を返す。 変換できない場合、プロパティが見つからない場合はnullを返す。

      Parameters:
      propertyName - 取得するプロパティ名
      Returns:
      変換したプロパティの値
    • getTargetClass

      public Class<T> getTargetClass()
      変換対象のフォームクラスを取得する。
      Returns:
      変換対象のフォームクラス
    • getMessages

      @Published public List<Message> getMessages()
      バリデーション結果メッセージのリストを取得する。
      Returns:
      バリデーション結果メッセージのリスト
    • isValid

      @Published public boolean isValid()
      バリデーションエラーがないかどうかを取得する。
      Returns:
      バリデーションエラーがない場合はtrue
    • abortIfInvalid

      @Published public void abortIfInvalid() throws ApplicationException
      バリデーションエラーがある場合に、 バリデーション結果メッセージを保持したApplicationExceptionを送出する。

      バリデーションエラーのプロパティがない場合、本メソッドは何もしない。

      Throws:
      ApplicationException - バリデーションエラーのプロパティがある場合
    • isInvalid

      @Published public boolean isInvalid(String propertyName)
      指定されたプロパティにバリデーションエラーがあるかどうか判定する。

      バリデーション対象でないプロパティ名が指定された場合はfalseを返す。

      Parameters:
      propertyName - プロパティ名
      Returns:
      指定されたプロパティにバリデーションエラーがある場合はtrue
    • setPropertyProcessed

      public void setPropertyProcessed(String propertyName)
      バリデーション済みプロパティのセットにプロパティを追加する。
      Parameters:
      propertyName - 追加するプロパティ名
    • isProcessed

      public boolean isProcessed(String propertyName)
      バリデーション済みプロパティか否か判定する。
      Parameters:
      propertyName - プロパティ名
      Returns:
      指定したプロパティがバリデーション済みである場合true
    • getPrefix

      public String getPrefix()
      バリデーション対象のプレフィクスを取得する。
      Returns:
      バリデーション対象のプレフィクス
    • getParams

      public Map<String,?> getParams()
      プロパティの値が文字列のMapを取得する。
      Returns:
      プロパティの値が文字列のMap
    • getValidateFor

      public String getValidateFor()
      バリデーション対象メソッドを取得する。
      Returns:
      バリデーション対象メソッド