Class ValidationManager

java.lang.Object
nablarch.core.validation.ValidationManager
All Implemented Interfaces:
Initializable

public class ValidationManager extends Object implements Initializable
バリデーションとデータの変換を行うクラス。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
Author:
Koichi Asano
  • Constructor Details

    • ValidationManager

      public ValidationManager()
  • Method Details

    • setFormDefinitionCache

      public void setFormDefinitionCache(StaticDataCache<FormValidationDefinition> formDefinitionCache)
      FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。
      Parameters:
      formDefinitionCache - FormValidationDefinitionを保持するStaticDataCache
    • setFormCreator

      public void setFormCreator(FormCreator formCreator)
      フォームの生成クラスをセットする。
      セットしなかった場合、MapConstructorFormCreatorが使用される。
      Parameters:
      formCreator - フォームの生成クラス
    • setMessageResource

      @IgnoreProperty("MessageUtil\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30ea\u30bd\u30fc\u30b9\u3092\u4f7f\u7528\u3059\u308b\u3088\u3046\u4ed5\u69d8\u5909\u66f4\u3092\u884c\u3063\u305f\u305f\u3081\u672c\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u5ec3\u6b62\u3057\u307e\u3057\u305f\u3002(\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u3082\u610f\u5473\u304c\u3042\u308a\u307e\u305b\u3093)") public void setMessageResource(StringResourceHolder stringResourceHolder)
      メッセージリソースをセットする。

      MessageUtilのメッセージリソースを使用するよう仕様変更を行ったため本プロパティは廃止しました。(値を設定しても意味がありません)

      Parameters:
      stringResourceHolder - メッセージリソース
    • setConvertors

      public void setConvertors(List<Convertor> convertors)
      コンバータのリストをセットする。
      Parameters:
      convertors - セットするコンバータのリスト
    • setValidators

      public void setValidators(List<Validator> validators)
      バリデータのリストをセットする。
      Parameters:
      validators - バリデータのリスト
    • setUseFormPropertyNameAsMessageId

      public void setUseFormPropertyNameAsMessageId(boolean useFormPropertyNameAsMessageId)
      フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。
      Parameters:
      useFormPropertyNameAsMessageId - フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値。
    • setFormArraySizeValueMaxLength

      public void setFormArraySizeValueMaxLength(int formArraySizeKeyMaxLength)
      フォーム配列サイズ文字列の最大長を設定する。
      Parameters:
      formArraySizeKeyMaxLength - フォーム配列サイズ文字列の最大長
    • setInvalidSizeKeyMessageId

      public void setInvalidSizeKeyMessageId(String invalidSizeKeyLengthMessageId)
      ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。
      Parameters:
      invalidSizeKeyLengthMessageId - ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージID
    • initialize

      public void initialize()
      初期化処理を行う。
      Specified by:
      initialize in interface Initializable
      See Also:
    • validateAndConvert

      @Published(tag="architect") public <T> ValidationContext<T> validateAndConvert(String prefix, Class<T> targetClass, Map<String,?> params, String validateFor)
      バリデーションと値の変換を行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      prefix - Mapに入ったキーのプレフィクス
      targetClass - バリデーション対象のフォームのクラス
      params - バリデーション対象のデータ
      validateFor - バリデーション対象メソッド
      Returns:
      バリデーション結果の入ったValidationContext
    • createValidationContext

      @Published(tag="architect") public <T> ValidationContext<T> createValidationContext(Class<T> targetClass, Map<String,?> params, String innerPrefix, String validateFor)
      ValidationContextを生成する。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      targetClass - バリデーション対象のフォームのクラス
      params - バリデーション対象のデータ
      innerPrefix - Mapに入ったキーのプレフィクス
      validateFor - バリデーション対象メソッド
      Returns:
      ValidationContext
    • validateAndConvertAllProperty

      protected <T> void validateAndConvertAllProperty(ValidationContext<T> context, FormValidationDefinition formValidationDefinition)
      フォームのバリデーションと変換を行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      formValidationDefinition - FormValidationDefinition
    • validateAndConvertProperty

      protected <T> void validateAndConvertProperty(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef)
      プロパティに対するバリデーションと変換を行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      formDef - FormValidationDefinition
      propertyDef - PropertyValidationDefinition
    • setDomainValidationHelper

      public void setDomainValidationHelper(DomainValidationHelper domainValidationHelper)
      ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。
      Parameters:
      domainValidationHelper - ドメイン定義によるバリデーションをサポートするヘルパークラス
    • getFormatAnnotation

      protected Annotation getFormatAnnotation(Annotation convertorFormatAnnotation)
      Convertorに渡すフォーマットを指定するアノテーションを取得する。

      指定されたコンバータのアノテーションがドメイン定義の場合は、ドメイン定義に指定されたコンバータアノテーションを返す。 それ以外の場合は、指定されたコンバータのアノテーションをそのまま返す。

      Parameters:
      convertorFormatAnnotation - コンバータのアノテーション
      Returns:
      Convertorに渡すフォーマットを指定するアノテーション
    • validate

      public <T> void validate(ValidationContext<T> context, String propertyName, Class<? extends Annotation> annotation, Map<String,Object> params)
      指定されたバリデーションアノテーションに沿ったバリデーション処理を行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyName - バリデーション対象のプロパティ名
      annotation - バリデーションアノテーションクラス
      params - バリデーションアノテーションのパラメータ
    • createPropertyDisplayNameObject

      protected <T> Object createPropertyDisplayNameObject(ValidationContext<T> context, PropertyValidationDefinition propertyDef)
      プロパティの表示名を表すオブジェクトを作成する。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyDef - PropertyValidationDefinition
      Returns:
      プロパティの表示名を表すオブジェクト
    • validate

      @Published(tag="architect") public <T> void validate(ValidationContext<T> context, String[] propertyNames)
      バリデーション対象のプロパティを指定してバリデーションを行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyNames - バリデーション対象とするプロパティ名の配列
    • validateWithout

      @Published(tag="architect") public <T> void validateWithout(ValidationContext<T> context, String[] propertyNames)
      バリデーション対象外のプロパティを指定してバリデーションを行う。
      Type Parameters:
      T - バリデーション結果で取得できる型
      Parameters:
      context - ValidationContext
      propertyNames - バリデーション対象としないプロパティ名の配列