Class ValidationManager

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

public class ValidationManager extends Object implements Initializable
バリデーションとデータの変換を行うクラス。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
  • 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)
      メッセージリソースをセットする。
      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 - バリデーション対象としないプロパティ名の配列