woolpack.validator
クラス ValidatorUtils

java.lang.Object
  上位を拡張 woolpack.validator.ValidatorUtils

public final class ValidatorUtils
extends Object

値検証と値変換のユーティリティです。


フィールドの概要
static Fn<ValidatorContext,Map<String,List<Object>>,RuntimeException> MAP
          ValidatorContext.getInputMap()を返す関数です。
static Fn<Iterable<AddressedMessage>,List<String>,RuntimeException> TO_MESSAGE
          メッセージ情報からメッセージを抽出した一覧を生成する関数です。
static Fn<ValidatorContext,Object,RuntimeException> VALUE
          ValidatorContext.getValue()を返す関数です。
static Fn<ValidatorContext,List<Object>,RuntimeException> VALUES
          ValidatorContext.getInputMap()ValidatorContext.getKey()を キーとした値一覧を返す関数です。
 
メソッドの概要
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
branchByName(Fn<Object,? extends BooleanState,? extends RuntimeException> operator, Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
          プロパティ名で委譲先を分岐する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
branchByNameIfExists(Fn<Object,? extends BooleanState,? extends RuntimeException> operator, Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
          プロパティ名で委譲先を分岐する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
branchByNameIfNotEmpty(Fn<Object,? extends BooleanState,? extends RuntimeException> operator, Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
          プロパティ名で委譲先を分岐する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
convertValue(Fn<Object,?,? extends E> fn)
          値の変換を委譲する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
localIndex(int index, Fn<? super ValidatorContext,Boolean,? extends E> fn)
          インデックス値を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
localKey(String key, Fn<? super ValidatorContext,Boolean,? extends E> fn)
          キー値を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化する関数を生成します。
static
<E extends Exception>
Fn<ValidatorContext,Boolean,E>
loopValue(Fn<Object,? extends BooleanState,? extends RuntimeException> operator, Fn<? super ValidatorContext,Boolean,? extends E> fn)
          ValidatorContext.getInputMap()ValidatorContext.getKey()をキーとした 値一覧に対し順次委譲先を実行する関数を生成します。
static Fn<ValidatorContext,Boolean,RuntimeException> message(String message)
          メッセージを追加する関数です。
static Fn<Iterable<AddressedMessage>,List<String>,RuntimeException> toOrderedMessage(Iterable<String> iterable)
          プロパティ名で並べ替えたメッセージの一覧を生成する関数を生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TO_MESSAGE

public static final Fn<Iterable<AddressedMessage>,List<String>,RuntimeException> TO_MESSAGE
メッセージ情報からメッセージを抽出した一覧を生成する関数です。
適用しているデザインパターン:Strategy。


VALUE

public static final Fn<ValidatorContext,Object,RuntimeException> VALUE
ValidatorContext.getValue()を返す関数です。
適用しているデザインパターン:Accessor。


MAP

public static final Fn<ValidatorContext,Map<String,List<Object>>,RuntimeException> MAP
ValidatorContext.getInputMap()を返す関数です。
適用しているデザインパターン:Accessor。


VALUES

public static final Fn<ValidatorContext,List<Object>,RuntimeException> VALUES
ValidatorContext.getInputMap()ValidatorContext.getKey()を キーとした値一覧を返す関数です。

メソッドの詳細

toOrderedMessage

public static final Fn<Iterable<AddressedMessage>,List<String>,RuntimeException> toOrderedMessage(Iterable<String> iterable)
プロパティ名で並べ替えたメッセージの一覧を生成する関数を生成します。 サーブレットAPIの request.getParameterMap() はキーの出現順が不確定なためこのメソッドを定義しています。
適用しているデザインパターン:Strategy。

パラメータ:
iterable - キーの一覧。ここで指定しないキーに関しては順序を保持したまま一覧に追加します。
戻り値:
関数。

branchByNameIfExists

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> branchByNameIfExists(Fn<Object,? extends BooleanState,? extends RuntimeException> operator,
                                                                                        Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
プロパティ名で委譲先を分岐する関数を生成します。 プロパティ名に対応する値が存在しない場合は委譲しません。
適用しているデザインパターン:FnのComposite。

型パラメータ:
E -
パラメータ:
operator - 値検証一覧の呼び出し方。
map - プロパティ名と委譲先の対応表。
戻り値:
関数。

branchByNameIfNotEmpty

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> branchByNameIfNotEmpty(Fn<Object,? extends BooleanState,? extends RuntimeException> operator,
                                                                                          Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
プロパティ名で委譲先を分岐する関数を生成します。 プロパティ名に対応する値がからの場合は委譲しないため、 ブラウザから送信されない項目を無視する際に使用します。
適用しているデザインパターン:FnのComposite。

型パラメータ:
E -
パラメータ:
operator - 値検証一覧の呼び出し方。
map - プロパティ名と委譲先の対応表。
戻り値:
関数。

branchByName

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> branchByName(Fn<Object,? extends BooleanState,? extends RuntimeException> operator,
                                                                                Map<String,? extends Fn<? super ValidatorContext,Boolean,? extends E>> map)
プロパティ名で委譲先を分岐する関数を生成します。 プロパティ名に対応する値が存在しない場合も委譲するため、 ブラウザから送信されない項目を必須を検証する際に使用することができます。
適用しているデザインパターン:FnのComposite。

型パラメータ:
E -
パラメータ:
operator - 値検証一覧の呼び出し方。
map - プロパティ名と委譲先の対応表。
戻り値:
関数。
関連項目:
NameBranch

convertValue

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> convertValue(Fn<Object,?,? extends E> fn)
値の変換を委譲する関数を生成します。
適用しているデザインパターン:参照透過と副作用のAdapter。

型パラメータ:
E -
パラメータ:
fn - 値を変換する委譲先。
戻り値:
関数。

message

public static Fn<ValidatorContext,Boolean,RuntimeException> message(String message)
メッセージを追加する関数です。

パラメータ:
message - メッセージ。
戻り値:
関数。

localIndex

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> localIndex(int index,
                                                                              Fn<? super ValidatorContext,Boolean,? extends E> fn)
インデックス値を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化する関数を生成します。
適用しているデザインパターン:副作用のSand Box。

型パラメータ:
E -
パラメータ:
index - 一時的に設定するインデックス。
fn - 委譲先。
戻り値:
関数。

localKey

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> localKey(String key,
                                                                            Fn<? super ValidatorContext,Boolean,? extends E> fn)
キー値を一時的に設定して委譲し、 委譲先から復帰したときに呼び出し時の状態に初期化する関数を生成します。
適用しているデザインパターン:副作用のSand Box。

型パラメータ:
E -
パラメータ:
key - 一時的に設定するキー。
fn - 委譲先。
戻り値:
関数。

loopValue

public static <E extends Exception> Fn<ValidatorContext,Boolean,E> loopValue(Fn<Object,? extends BooleanState,? extends RuntimeException> operator,
                                                                             Fn<? super ValidatorContext,Boolean,? extends E> fn)
ValidatorContext.getInputMap()ValidatorContext.getKey()をキーとした 値一覧に対し順次委譲先を実行する関数を生成します。
適用しているデザインパターン:Proxy。

型パラメータ:
E -
パラメータ:
operator - 値検証一覧の呼び出し方。
fn - 委譲先。
戻り値:
関数。


Copyright (C) 2006-2007 Takahiro Nakamura. All rights reserved.