Package nablarch.core.validation
Class ValidationManager
java.lang.Object
nablarch.core.validation.ValidationManager
- All Implemented Interfaces:
Initializable
バリデーションとデータの変換を行うクラス。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
実際のバリデーションとデータの変換はバリデータとコンバータに委譲する。
- Author:
- Koichi Asano
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> ObjectcreatePropertyDisplayNameObject(ValidationContext<T> context, PropertyValidationDefinition propertyDef) プロパティの表示名を表すオブジェクトを作成する。<T> ValidationContext<T>createValidationContext(Class<T> targetClass, Map<String, ?> params, String innerPrefix, String validateFor) ValidationContextを生成する。protected AnnotationgetFormatAnnotation(Annotation convertorFormatAnnotation) Convertorに渡すフォーマットを指定するアノテーションを取得する。void初期化処理を行う。voidsetConvertors(List<Convertor> convertors) コンバータのリストをセットする。voidsetDomainValidationHelper(DomainValidationHelper domainValidationHelper) ドメイン定義によるバリデーションをサポートするヘルパークラスを設定する。voidsetFormArraySizeValueMaxLength(int formArraySizeKeyMaxLength) フォーム配列サイズ文字列の最大長を設定する。voidsetFormCreator(FormCreator formCreator) フォームの生成クラスをセットする。
セットしなかった場合、MapConstructorFormCreatorが使用される。voidsetFormDefinitionCache(StaticDataCache<FormValidationDefinition> formDefinitionCache) FormValidationDefinitionをキャッシュするStaticDataCacheをセットする。voidsetInvalidSizeKeyMessageId(String invalidSizeKeyLengthMessageId) ValidationTargetアノテーションのsizeKeyに不正な長さを指定した際のエラーメッセージIDを設定する。voidsetMessageResource(StringResourceHolder stringResourceHolder) メッセージリソースをセットする。voidsetUseFormPropertyNameAsMessageId(boolean useFormPropertyNameAsMessageId) フォームのプロパティ名をデフォルトのメッセージIDとして使用するかどうかの設定値を設定する。voidsetValidators(List<Validator> validators) バリデータのリストをセットする。<T> voidvalidate(ValidationContext<T> context, String[] propertyNames) バリデーション対象のプロパティを指定してバリデーションを行う。<T> voidvalidate(ValidationContext<T> context, String propertyName, Class<? extends Annotation> annotation, Map<String, Object> params) 指定されたバリデーションアノテーションに沿ったバリデーション処理を行う。<T> ValidationContext<T>バリデーションと値の変換を行う。protected <T> voidvalidateAndConvertAllProperty(ValidationContext<T> context, FormValidationDefinition formValidationDefinition) フォームのバリデーションと変換を行う。protected <T> voidvalidateAndConvertProperty(ValidationContext<T> context, FormValidationDefinition formDef, PropertyValidationDefinition propertyDef) プロパティに対するバリデーションと変換を行う。<T> voidvalidateWithout(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) メッセージリソースをセットする。MessageUtilのメッセージリソースを使用するよう仕様変更を行ったため本プロパティは廃止しました。(値を設定しても意味がありません)
- 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:
initializein 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- バリデーション対象としないプロパティ名の配列
-