woolpack.bool
クラス BoolUtils

java.lang.Object
  上位を拡張 woolpack.bool.BoolUtils

public final class BoolUtils
extends Object

真偽値処理のユーティリティです。


フィールドの概要
static Fn<Object,BooleanState,RuntimeException> AND
          ビットAND演算子のファクトリです。
static Fn<Object,BooleanState,RuntimeException> ANDAND
          論理AND演算子のファクトリです。
static Fn<Object,BooleanState,RuntimeException> EQ
          ビット同値演算子のファクトリです。
static Fn<Object,BooleanState,RuntimeException> EQEQ
          論理同値演算子のファクトリです。
static Fn<Object,Boolean,RuntimeException> IS_NULL
          null であることをチェックする関数です。
static Fn<Boolean,Boolean,RuntimeException> NOT
          コンテキストを否定する関数です。
static Fn<Object,Boolean,RuntimeException> NOT_EMPTY
          null でない、かつ文字列の場合は空でないことをチェックする関数です。
static Fn<Object,Boolean,RuntimeException> NOT_THROWABLE
          引数がThrowableのサブクラスでないことを評価する関数です。
static Fn<Object,BooleanState,RuntimeException> OR
          ビットOR演算子のファクトリです
適用しているデザインパターン:BooleanStateのAbstract Factory。
static Fn<Object,BooleanState,RuntimeException> OROR
          論理OR演算子のファクトリです。
static Fn<Object,Boolean,RuntimeException> TO_BOOLEAN
          引数が null またはBoolean.FALSEの場合のみ Boolean.FALSEを返却する関数です。
static Fn<Object,Boolean,RuntimeException> TO_BOOLEAN_VIEW
          引数が null またはBoolean.FALSE または文字列"false"(大小を区別しない)の場合のみ Boolean.FALSEを返却する関数です。
 
メソッドの概要
static
<C,E extends Exception>
Fn<C,Boolean,E>
boolSeq(Fn<Object,? extends BooleanState,? extends RuntimeException> factory, Iterable<? extends Fn<? super C,Boolean,? extends E>> iterable)
          委譲先を順次呼び出して集計する関数を生成します。
static Fn<Object,Boolean,RuntimeException> checkEquals(Object value)
          Object.equals(Object)で同値関係をチェックする関数を生成します。
static
<C extends Comparable<C>>
Fn<C,Boolean,RuntimeException>
checkMax(C value)
          最大値をチェックする関数を生成します。
static Fn<String,Boolean,RuntimeException> checkMaxLength(int value)
          文字列の最大文字数をチェックする関数を生成します。
static
<C extends Comparable<C>>
Fn<C,Boolean,RuntimeException>
checkMin(C value)
          最小値をチェックする関数を生成します。
static Fn<String,Boolean,RuntimeException> checkMinLength(int value)
          文字列の最小文字数をチェックする関数を生成します。
static Fn<String,Boolean,RuntimeException> checkRegExp(Pattern pattern)
          正規表現でチェックする関数を生成します。
static
<C extends Comparable<C>>
Fn<C,Integer,RuntimeException>
compare(C value)
          比較する関数を生成します。
static Fn<Object,Boolean,RuntimeException> contains(Collection<?> collection)
          コンテキスト役が初期コレクションに含まれることをチェックする関数を生成します。
static Fn<Collection<?>,Boolean,RuntimeException> containsAll(Collection<?> collection)
          コレクションがすべて初期コレクションに含まれることをチェックする関数を生成します。
static
<C,E extends Exception>
Fn<C,Boolean,E>
ifNot(Fn<? super C,?,? extends E> ifFn, Fn<? super C,? extends Boolean,? extends E> falseFn)
          評価結果がBoolean.TRUEでない場合に委譲するFnを返します。
static
<C,E extends Exception>
Fn<C,Boolean,E>
ifTrue(Fn<? super C,?,? extends E> ifFn, Fn<? super C,? extends Boolean,? extends E> trueFn)
          評価結果がBoolean.TRUEの場合に委譲するを生成します。
static Fn<Object,Boolean,RuntimeException> matchObject(Object value)
          プロパティ値により以下の判定を行う関数を生成します。
static
<C,E extends Exception>
Fn<C,Boolean,E>
not(Fn<? super C,Boolean,? extends E> fn)
          委譲先の結果の否定する関数を生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

NOT_THROWABLE

public static final Fn<Object,Boolean,RuntimeException> NOT_THROWABLE
引数がThrowableのサブクラスでないことを評価する関数です。


NOT

public static final Fn<Boolean,Boolean,RuntimeException> NOT
コンテキストを否定する関数です。


NOT_EMPTY

public static final Fn<Object,Boolean,RuntimeException> NOT_EMPTY
null でない、かつ文字列の場合は空でないことをチェックする関数です。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。


IS_NULL

public static final Fn<Object,Boolean,RuntimeException> IS_NULL
null であることをチェックする関数です。


TO_BOOLEAN

public static final Fn<Object,Boolean,RuntimeException> TO_BOOLEAN
引数が null またはBoolean.FALSEの場合のみ Boolean.FALSEを返却する関数です。


TO_BOOLEAN_VIEW

public static final Fn<Object,Boolean,RuntimeException> TO_BOOLEAN_VIEW
引数が null またはBoolean.FALSE または文字列"false"(大小を区別しない)の場合のみ Boolean.FALSEを返却する関数です。


ANDAND

public static final Fn<Object,BooleanState,RuntimeException> ANDAND
論理AND演算子のファクトリです。
適用しているデザインパターン:BooleanStateのAbstract Factory。


AND

public static final Fn<Object,BooleanState,RuntimeException> AND
ビットAND演算子のファクトリです。
適用しているデザインパターン:BooleanStateのAbstract Factory。


EQEQ

public static final Fn<Object,BooleanState,RuntimeException> EQEQ
論理同値演算子のファクトリです。
適用しているデザインパターン:BooleanStateのAbstract Factory。


EQ

public static final Fn<Object,BooleanState,RuntimeException> EQ
ビット同値演算子のファクトリです。
適用しているデザインパターン:BooleanStateのAbstract Factory。


OR

public static final Fn<Object,BooleanState,RuntimeException> OR
ビットOR演算子のファクトリです
適用しているデザインパターン:BooleanStateのAbstract Factory。


OROR

public static final Fn<Object,BooleanState,RuntimeException> OROR
論理OR演算子のファクトリです。
適用しているデザインパターン:BooleanStateのAbstract Factory。

メソッドの詳細

boolSeq

public static <C,E extends Exception> Fn<C,Boolean,E> boolSeq(Fn<Object,? extends BooleanState,? extends RuntimeException> factory,
                                                              Iterable<? extends Fn<? super C,Boolean,? extends E>> iterable)
委譲先を順次呼び出して集計する関数を生成します。
適用しているデザインパターン:FnのComposite。

型パラメータ:
C -
E -
パラメータ:
factory - 真偽集計器のファクトリ。
iterable - 委譲先の一覧。
戻り値:
関数。

compare

public static <C extends Comparable<C>> Fn<C,Integer,RuntimeException> compare(C value)
比較する関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

型パラメータ:
C -
パラメータ:
value - 比較元(Comparable.compareTo(Object)の引数でないほう)。
戻り値:
関数。

containsAll

public static Fn<Collection<?>,Boolean,RuntimeException> containsAll(Collection<?> collection)
コレクションがすべて初期コレクションに含まれることをチェックする関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

パラメータ:
collection - 初期コレクション。
戻り値:
関数。

contains

public static Fn<Object,Boolean,RuntimeException> contains(Collection<?> collection)
コンテキスト役が初期コレクションに含まれることをチェックする関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

パラメータ:
collection - 初期コレクション。
戻り値:
関数。

checkEquals

public static Fn<Object,Boolean,RuntimeException> checkEquals(Object value)
Object.equals(Object)で同値関係をチェックする関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

パラメータ:
value - 初期値。
戻り値:
関数。

checkMax

public static <C extends Comparable<C>> Fn<C,Boolean,RuntimeException> checkMax(C value)
最大値をチェックする関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

型パラメータ:
C -
パラメータ:
value - 最大値。
戻り値:
関数。

checkMaxLength

public static Fn<String,Boolean,RuntimeException> checkMaxLength(int value)
文字列の最大文字数をチェックする関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

パラメータ:
value - 最大文字数。
戻り値:
関数。

checkMin

public static <C extends Comparable<C>> Fn<C,Boolean,RuntimeException> checkMin(C value)
最小値をチェックする関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

型パラメータ:
C -
パラメータ:
value - 最小値。
戻り値:
関数。

checkMinLength

public static Fn<String,Boolean,RuntimeException> checkMinLength(int value)
文字列の最小文字数をチェックする関数を生成します。
適用しているデザインパターン:二項演算子のCurrying。

パラメータ:
value - 最小文字数。
戻り値:
関数。

not

public static <C,E extends Exception> Fn<C,Boolean,E> not(Fn<? super C,Boolean,? extends E> fn)
委譲先の結果の否定する関数を生成します。
適用しているデザインパターン:返却値のDecorator。

型パラメータ:
C -
E -
パラメータ:
fn - 委譲先。
戻り値:
関数。

matchObject

public static Fn<Object,Boolean,RuntimeException> matchObject(Object value)
プロパティ値により以下の判定を行う関数を生成します。 null の場合は、コンテキストが null であることを検証します。 Classクラスのインスタンスの場合は、 コンテキストがそのクラスの変数に代入できることを検証します。 上記以外の場合は、値が等しいことを検証します。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

パラメータ:
value - 初期値。
戻り値:
関数。

checkRegExp

public static Fn<String,Boolean,RuntimeException> checkRegExp(Pattern pattern)
正規表現でチェックする関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

パラメータ:
pattern - 正規表現。
戻り値:
関数。

ifTrue

public static <C,E extends Exception> Fn<C,Boolean,E> ifTrue(Fn<? super C,?,? extends E> ifFn,
                                                             Fn<? super C,? extends Boolean,? extends E> trueFn)
評価結果がBoolean.TRUEの場合に委譲するを生成します。
適用しているデザインパターン:FnのComposite。

型パラメータ:
C -
E -
パラメータ:
ifFn - 評価の委譲先。
trueFn - 評価結果がBoolean.TRUEの場合の委譲先。
戻り値:
関数。

ifNot

public static <C,E extends Exception> Fn<C,Boolean,E> ifNot(Fn<? super C,?,? extends E> ifFn,
                                                            Fn<? super C,? extends Boolean,? extends E> falseFn)
評価結果がBoolean.TRUEでない場合に委譲するFnを返します。
適用しているデザインパターン:FnのComposite。

型パラメータ:
C -
E -
パラメータ:
ifFn - 評価の委譲先。
falseFn - 評価結果がBoolean.TRUEでない場合の委譲先。
戻り値:
関数。


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