Package nablarch.core.validation
Class ValidationContext<T>
java.lang.Object
nablarch.core.validation.ValidationContext<T>
- Type Parameters:
T
- バリデーション結果で取得できる型
バリデーション実行中の情報を保持するクラス。
- See Also:
-
Constructor Summary
ConstructorDescriptionValidationContext
(String prefix, Class<T> targetClass, FormCreator formCreator, Map<String, ?> params, String validateFor) ValidationContext
オブジェクトを生成する。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
バリデーションエラーがある場合に、 バリデーション結果メッセージを保持したApplicationException
を送出する。void
addMessage
(String messageId, Object... params) メッセージを追加する。void
addMessages
(List<Message> messages) メッセージを追加する。void
addResultMessage
(String propertyName, String messageId, Object... params) バリデーション結果を追加する。フォームオブジェクトを生成する。フォームオブジェクトを生成する。getConvertedValue
(String propertyName) フォームオブジェクトのプロパティの型に変換したプロパティを取得する。getMessage
(String messageId) メッセージIDに対応するメッセージを取得する。バリデーション結果メッセージのリストを取得する。getParameters
(String propertyName) プロパティ名に対応するプレフィクス付き文字列の配列を取得する。プロパティの値が文字列のMapを取得する。バリデーション対象のプレフィクスを取得する。変換対象のフォームクラスを取得する。バリデーション対象メソッドを取得する。boolean
指定されたプロパティにバリデーションエラーがあるかどうか判定する。boolean
isProcessed
(String propertyName) バリデーション済みプロパティか否か判定する。boolean
isValid()
バリデーションエラーがないかどうかを取得する。void
putConvertedValue
(String propertyName, Object value) フォームオブジェクトのプロパティの型に変換したプロパティを追加する。void
setPropertyProcessed
(String propertyName) バリデーション済みプロパティのセットにプロパティを追加する。
-
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
- FormCreatorparams
- パラメータのMapvalidateFor
- バリデーション対象メソッド
-
-
Method Details
-
addMessage
メッセージを追加する。- Parameters:
messageId
- メッセージIDparams
- メッセージに埋め込む値
-
addMessages
メッセージを追加する。- Parameters:
messages
- メッセージのリスト
-
addResultMessage
@Published(tag="architect") public void addResultMessage(String propertyName, String messageId, Object... params) バリデーション結果を追加する。- Parameters:
propertyName
- プロパティ名messageId
- バリデーション結果メッセージのメッセージIDparams
- メッセージのオプションパラメータ- Throws:
IllegalArgumentException
- プロパティ名がnull
または空文字だった場合
-
getMessage
メッセージIDに対応するメッセージを取得する。- Parameters:
messageId
- メッセージID- Returns:
- メッセージIDに対応するメッセージ
-
createObject
フォームオブジェクトを生成する。- Returns:
- フォームオブジェクト
- Throws:
IllegalStateException
- フォームオブジェクトにバリデーションエラーのプロパティがある場合
-
createDirtyObject
フォームオブジェクトを生成する。createObject()
と異なり、生成前にフォームオブジェクトにバリデーションエラーがあるかチェックしない。
そのため、バリデーションエラーがあるプロパティもフォームオブジェクトに設定される。
ただし、プロパティをフォームオブジェクトのプロパティの型に変換できない場合は設定されない。- Returns:
- フォームオブジェクト
-
getParameters
プロパティ名に対応するプレフィクス付き文字列の配列を取得する。- Parameters:
propertyName
- プロパティ名- Returns:
- プロパティ名に対応するプレフィクス付き文字列の配列
-
putConvertedValue
フォームオブジェクトのプロパティの型に変換したプロパティを追加する。- Parameters:
propertyName
- 追加するプロパティ名value
- 変換したプロパティの値
-
getConvertedValue
フォームオブジェクトのプロパティの型に変換したプロパティを取得する。 プロパティにバリデーションエラーがある場合も変換した値を返す。 変換できない場合、プロパティが見つからない場合はnull
を返す。- Parameters:
propertyName
- 取得するプロパティ名- Returns:
- 変換したプロパティの値
-
getTargetClass
変換対象のフォームクラスを取得する。- Returns:
- 変換対象のフォームクラス
-
getMessages
バリデーション結果メッセージのリストを取得する。- Returns:
- バリデーション結果メッセージのリスト
-
isValid
バリデーションエラーがないかどうかを取得する。- Returns:
- バリデーションエラーがない場合は
true
-
abortIfInvalid
バリデーションエラーがある場合に、 バリデーション結果メッセージを保持したApplicationException
を送出する。 バリデーションエラーのプロパティがない場合、本メソッドは何もしない。- Throws:
ApplicationException
- バリデーションエラーのプロパティがある場合
-
isInvalid
指定されたプロパティにバリデーションエラーがあるかどうか判定する。 バリデーション対象でないプロパティ名が指定された場合はfalse
を返す。- Parameters:
propertyName
- プロパティ名- Returns:
- 指定されたプロパティにバリデーションエラーがある場合は
true
-
setPropertyProcessed
バリデーション済みプロパティのセットにプロパティを追加する。- Parameters:
propertyName
- 追加するプロパティ名
-
isProcessed
バリデーション済みプロパティか否か判定する。- Parameters:
propertyName
- プロパティ名- Returns:
- 指定したプロパティがバリデーション済みである場合
true
-
getPrefix
バリデーション対象のプレフィクスを取得する。- Returns:
- バリデーション対象のプレフィクス
-
getParams
プロパティの値が文字列のMapを取得する。- Returns:
- プロパティの値が文字列のMap
-
getValidateFor
バリデーション対象メソッドを取得する。- Returns:
- バリデーション対象メソッド
-