Package nablarch.core.validation
Class ValidationManager
java.lang.Object
nablarch.core.validation.ValidationManager
- All Implemented Interfaces:
Initializable
バリデーションとデータの変換を行うクラス。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected <T> Object
createPropertyDisplayNameObject
(ValidationContext<T> context, PropertyValidationDefinition propertyDef) プロパティの表示名を表すオブジェクトを作成する。<T> ValidationContext<T>
createValidationContext
(Class<T> targetClass, Map<String, ?> params, String innerPrefix, String validateFor) ValidationContext
を生成する。protected Annotation
getFormatAnnotation
(Annotation convertorFormatAnnotation) Convertor
に渡すフォーマットを指定するアノテーションを取得する。void
初期化処理を行う。void
setConvertors
(List<Convertor> convertors) コンバータのリストをセットする。void
setDomainValidationHelper
(DomainValidationHelper domainValidationHelper) ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。void
setFormArraySizeValueMaxLength
(int formArraySizeKeyMaxLength) フォーム配列サイズ文字列の最大長を設定する。void
setFormCreator
(FormCreator formCreator) フォームの生成クラスをセットする。
セットしなかった場合、MapConstructorFormCreatorが使用される。void
setFormDefinitionCache
(StaticDataCache<FormValidationDefinition> formDefinitionCache) FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。void
setInvalidSizeKeyMessageId
(String invalidSizeKeyLengthMessageId) ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。void
setMessageResource
(StringResourceHolder stringResourceHolder) メッセージリソースをセットする。void
setUseFormPropertyNameAsMessageId
(boolean useFormPropertyNameAsMessageId) フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。void
setValidators
(List<Validator> validators) バリデータのリストをセットする。<T> void
validate
(ValidationContext<T> context, String[] propertyNames) バリデーション対象のプロパティを指定してバリデーションを行う。<T> void
validate
(ValidationContext<T> context, String propertyName, Class<? extends Annotation> annotation, Map<String, Object> params) 指定されたバリデーションアノテーションに沿ったバリデーション処理を行う。<T> ValidationContext<T>
バリデーションと値の変換を行う。protected <T> void
validateAndConvertAllProperty
(ValidationContext<T> context, FormValidationDefinition formValidationDefinition) フォームのバリデーションと変換を行う。protected <T> void
validateAndConvertProperty
(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef) プロパティに対するバリデーションと変換を行う。<T> void
validateWithout
(ValidationContext<T> context, String[] propertyNames) バリデーション対象外のプロパティを指定してバリデーションを行う。
-
Constructor Details
-
ValidationManager
public ValidationManager()
-
-
Method Details
-
setFormDefinitionCache
FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。- Parameters:
formDefinitionCache
- FormValidationDefinitionを保持するStaticDataCache
-
setFormCreator
フォームの生成クラスをセットする。
セットしなかった場合、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
コンバータのリストをセットする。- Parameters:
convertors
- セットするコンバータのリスト
-
setValidators
バリデータのリストをセットする。- Parameters:
validators
- バリデータのリスト
-
setUseFormPropertyNameAsMessageId
public void setUseFormPropertyNameAsMessageId(boolean useFormPropertyNameAsMessageId) フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。- Parameters:
useFormPropertyNameAsMessageId
- フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値。
-
setFormArraySizeValueMaxLength
public void setFormArraySizeValueMaxLength(int formArraySizeKeyMaxLength) フォーム配列サイズ文字列の最大長を設定する。- Parameters:
formArraySizeKeyMaxLength
- フォーム配列サイズ文字列の最大長
-
setInvalidSizeKeyMessageId
ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。- Parameters:
invalidSizeKeyLengthMessageId
- ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージID
-
initialize
public void initialize()初期化処理を行う。- Specified by:
initialize
in interfaceInitializable
- 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
- ValidationContextformValidationDefinition
- FormValidationDefinition
-
validateAndConvertProperty
protected <T> void validateAndConvertProperty(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef) プロパティに対するバリデーションと変換を行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextformDef
- FormValidationDefinitionpropertyDef
- PropertyValidationDefinition
-
setDomainValidationHelper
ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。- Parameters:
domainValidationHelper
- ドメイン定義によるバリデーションをサポートするヘルパークラス
-
getFormatAnnotation
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
- ValidationContextpropertyName
- バリデーション対象のプロパティ名annotation
- バリデーションアノテーションクラスparams
- バリデーションアノテーションのパラメータ
-
createPropertyDisplayNameObject
protected <T> Object createPropertyDisplayNameObject(ValidationContext<T> context, PropertyValidationDefinition propertyDef) プロパティの表示名を表すオブジェクトを作成する。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyDef
- PropertyValidationDefinition- Returns:
- プロパティの表示名を表すオブジェクト
-
validate
@Published(tag="architect") public <T> void validate(ValidationContext<T> context, String[] propertyNames) バリデーション対象のプロパティを指定してバリデーションを行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyNames
- バリデーション対象とするプロパティ名の配列
-
validateWithout
@Published(tag="architect") public <T> void validateWithout(ValidationContext<T> context, String[] propertyNames) バリデーション対象外のプロパティを指定してバリデーションを行う。- Type Parameters:
T
- バリデーション結果で取得できる型- Parameters:
context
- ValidationContextpropertyNames
- バリデーション対象としないプロパティ名の配列
-