Woolpack API

woolpack.fn
クラス FnUtils

java.lang.Object
  上位を拡張 woolpack.fn.FnUtils

public final class FnUtils
extends java.lang.Object

ユーティリティです。 型推論で表記を簡略するためのスタティックメソッドを含みます。

作成者:
nakamura

フィールドの概要
static Fn<java.lang.Class,java.lang.Class,java.lang.RuntimeException> TO_WRAPPER
          プリミティブ型をオブジェクト型に変換するFnです。
 
メソッドの概要
static
<R> Fn<java.lang.Object,R,java.lang.RuntimeException>
castTo(java.lang.Class<R> clazz)
          Class.cast(Object)を使用してキャストする関数を生成します。
static
<C,R,E extends java.lang.Exception>
Delegator<C,R,E>
delegate()
          委譲するだけの関数を生成します。
static
<C,R,E extends java.lang.Exception>
Delegator<C,R,E>
delegate(Fn<? super C,? extends R,? extends E> fn)
          委譲するだけの関数を生成します。
static
<C> Fn<C,C,java.lang.RuntimeException>
echo()
          引数をそのまま返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
exec(Fn<? super C,? extends Fn<? super C,? extends R,? extends E>,? extends E> fn)
          限定的な汎関数を処理する関数を生成します。
static
<C,R> Fn<C,R,java.lang.RuntimeException>
fix(R value)
          固定値を返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
fixThrows(R value)
          固定値を返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
ifTrue(Fn<? super C,?,? extends E> ifFn, Fn<? super C,? extends R,? extends E> trueFn, Fn<? super C,? extends R,? extends E> falseFn)
          評価結果により委譲先を分岐する関数を生成します。
static
<A,B,C,E extends java.lang.Exception>
Fn<A,C,E>
join(Fn<? super A,? extends B,? extends E> fn0, Fn<? super B,? extends C,? extends E> fn1)
          ふたつの関数を合成した関数を生成します。
static
<A,B,C,D,E extends java.lang.Exception>
Fn<A,D,E>
join(Fn<? super A,? extends B,? extends E> fn0, Fn<? super B,? extends C,? extends E> fn1, Fn<? super C,? extends D,? extends E> fn2)
          関数を合成した関数を生成します。
static
<A,B,C,D,E,T extends java.lang.Exception>
Fn<A,E,T>
join(Fn<? super A,? extends B,? extends T> fn0, Fn<? super B,? extends C,? extends T> fn1, Fn<? super C,? extends D,? extends T> fn2, Fn<? super D,? extends E,? extends T> fn3)
          関数を合成した関数を生成します。
static
<A,B,C,D,E,F,T extends java.lang.Exception>
Fn<A,F,T>
join(Fn<? super A,? extends B,? extends T> fn0, Fn<? super B,? extends C,? extends T> fn1, Fn<? super C,? extends D,? extends T> fn2, Fn<? super D,? extends E,? extends T> fn3, Fn<? super E,? extends F,? extends T> fn4)
          関数を合成した関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
maybe(Fn<? super C,? extends R,? extends E> fn)
          引数がnullの場合は委譲をスキップしてnullを返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
recode(Fn<? super C,? extends R,? extends E> fn, java.util.Collection<? super C> contextList, java.util.Collection<? super R> returnList)
          通過情報をCollectionに記録するテスト用の関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
recode(Fn<? super C,? extends R,? extends E> fn, java.lang.String name, java.util.Collection<java.lang.String> nameList)
          通過情報をCollectionに記録するテスト用の関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
recode(Fn<? super C,? extends R,? extends E> fn, java.lang.String name, java.util.Collection<java.lang.String> nameList, java.util.Collection<? super C> contextList, java.util.Collection<? super R> returnList)
          通過情報をCollectionに記録するテスト用の関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
seq(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends E>> iterable)
          委譲先を順次実行し、最後に実行した結果を返す関数を生成します。
static
<C,R> SwitchFn<C,R,java.lang.RuntimeException>
switching(java.util.Map<? super C,? extends R> map)
          Mapを使用して、キーに対する値を返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
SwitchFn<C,R,E>
switching(java.util.Map<? super C,? extends R> map, Fn<? super C,? extends R,? extends E> defaultFn)
          Mapを使用して、キーに対する値を返す関数を生成します。
static
<C,R> SwitchFn<C,R,java.lang.RuntimeException>
switching(java.util.Map<? super C,? extends R> map, R defaultValue)
          Mapを使用して、キーに対する値を返す関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
throwing(E exception)
          例外を投げる関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
trying(Fn<? super C,? extends R,? extends java.lang.Exception> fn, Fn<? super java.lang.Exception,? extends R,? extends E> reportFn, Fn<? super C,?,? extends E> finallyFn)
          Java の try-catch-finally のそれぞれのブロックで委譲する関数を生成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

TO_WRAPPER

public static final Fn<java.lang.Class,java.lang.Class,java.lang.RuntimeException> TO_WRAPPER
プリミティブ型をオブジェクト型に変換するFnです。

メソッドの詳細

castTo

public static <R> Fn<java.lang.Object,R,java.lang.RuntimeException> castTo(java.lang.Class<R> clazz)
Class.cast(Object)を使用してキャストする関数を生成します。

型パラメータ:
R -
パラメータ:
clazz - キャストする型。
戻り値:
関数。

exec

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> exec(Fn<? super C,? extends Fn<? super C,? extends R,? extends E>,? extends E> fn)
限定的な汎関数を処理する関数を生成します。

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

echo

public static <C> Fn<C,C,java.lang.RuntimeException> echo()
引数をそのまま返す関数を生成します。

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

fixThrows

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> fixThrows(R value)
固定値を返す関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
value - 返却する値。
戻り値:
関数。

fix

public static <C,R> Fn<C,R,java.lang.RuntimeException> fix(R value)
固定値を返す関数を生成します。

型パラメータ:
C -
R -
パラメータ:
value - 返却する値。
戻り値:
関数。

ifTrue

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> ifTrue(Fn<? super C,?,? extends E> ifFn,
                                                                   Fn<? super C,? extends R,? extends E> trueFn,
                                                                   Fn<? super C,? extends R,? extends E> falseFn)
評価結果により委譲先を分岐する関数を生成します。

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

join

public static <A,B,C,E extends java.lang.Exception> Fn<A,C,E> join(Fn<? super A,? extends B,? extends E> fn0,
                                                                   Fn<? super B,? extends C,? extends E> fn1)
ふたつの関数を合成した関数を生成します。 最初の委譲先の返却値を引数してに次の委譲先を実行しその結果を返します。

型パラメータ:
A -
B -
C -
E -
パラメータ:
fn0 - 最初の委譲先。
fn1 - ふたつめの委譲先。
戻り値:
関数。

join

public static <A,B,C,D,E extends java.lang.Exception> Fn<A,D,E> join(Fn<? super A,? extends B,? extends E> fn0,
                                                                     Fn<? super B,? extends C,? extends E> fn1,
                                                                     Fn<? super C,? extends D,? extends E> fn2)
関数を合成した関数を生成します。

型パラメータ:
A -
B -
C -
D -
E -
パラメータ:
fn0 -
fn1 -
fn2 -
戻り値:
関数。

join

public static <A,B,C,D,E,T extends java.lang.Exception> Fn<A,E,T> join(Fn<? super A,? extends B,? extends T> fn0,
                                                                       Fn<? super B,? extends C,? extends T> fn1,
                                                                       Fn<? super C,? extends D,? extends T> fn2,
                                                                       Fn<? super D,? extends E,? extends T> fn3)
関数を合成した関数を生成します。

型パラメータ:
A -
B -
C -
D -
E -
T -
パラメータ:
fn0 -
fn1 -
fn2 -
fn3 -
戻り値:
関数。

join

public static <A,B,C,D,E,F,T extends java.lang.Exception> Fn<A,F,T> join(Fn<? super A,? extends B,? extends T> fn0,
                                                                         Fn<? super B,? extends C,? extends T> fn1,
                                                                         Fn<? super C,? extends D,? extends T> fn2,
                                                                         Fn<? super D,? extends E,? extends T> fn3,
                                                                         Fn<? super E,? extends F,? extends T> fn4)
関数を合成した関数を生成します。

型パラメータ:
A -
B -
C -
D -
E -
F -
T -
パラメータ:
fn0 -
fn1 -
fn2 -
fn3 -
fn4 -
戻り値:
関数。

recode

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> recode(Fn<? super C,? extends R,? extends E> fn,
                                                                   java.lang.String name,
                                                                   java.util.Collection<java.lang.String> nameList,
                                                                   java.util.Collection<? super C> contextList,
                                                                   java.util.Collection<? super R> returnList)
通過情報をCollectionに記録するテスト用の関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
fn - 委譲先。null の場合は委譲しません。
name - nameListに追加する名前。
nameList - name を追加する対象。null の場合は追加しません。
contextList - コンテキスト役を追加する対象。null の場合は追加しません。
returnList - 委譲先を追加する対象。null の場合は追加しません。
戻り値:
関数。

recode

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> recode(Fn<? super C,? extends R,? extends E> fn,
                                                                   java.lang.String name,
                                                                   java.util.Collection<java.lang.String> nameList)
通過情報をCollectionに記録するテスト用の関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
fn - 委譲先。null の場合は委譲しません。
name - nameListに追加する名前。
nameList - name を追加する対象。null の場合は追加しません。
戻り値:
関数。

recode

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> recode(Fn<? super C,? extends R,? extends E> fn,
                                                                   java.util.Collection<? super C> contextList,
                                                                   java.util.Collection<? super R> returnList)
通過情報をCollectionに記録するテスト用の関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
fn - 委譲先。null の場合は委譲しません。
contextList - コンテキスト役を追加する対象。null の場合は追加しません。
returnList - 委譲先を追加する対象。null の場合は追加しません。
戻り値:
関数。

seq

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> seq(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends E>> iterable)
委譲先を順次実行し、最後に実行した結果を返す関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
iterable - 委譲先の一覧。
戻り値:
関数。

switching

public static <C,R,E extends java.lang.Exception> SwitchFn<C,R,E> switching(java.util.Map<? super C,? extends R> map,
                                                                            Fn<? super C,? extends R,? extends E> defaultFn)
Mapを使用して、キーに対する値を返す関数を生成します。 引数に対する値が null の場合はデフォルトの処理に委譲します。

型パラメータ:
C -
R -
E -
パラメータ:
map - マップ。
defaultFn - 引数に対応する値が null の場合の委譲先。
戻り値:
関数。

switching

public static <C,R> SwitchFn<C,R,java.lang.RuntimeException> switching(java.util.Map<? super C,? extends R> map,
                                                                       R defaultValue)
Mapを使用して、キーに対する値を返す関数を生成します。 引数に対する値が null の場合はデフォルトの処理に委譲します。

型パラメータ:
C -
R -
パラメータ:
map - マップ。
defaultValue - 引数に対応する値が null の場合の値。
戻り値:
関数。

switching

public static <C,R> SwitchFn<C,R,java.lang.RuntimeException> switching(java.util.Map<? super C,? extends R> map)
Mapを使用して、キーに対する値を返す関数を生成します。 引数に対する値が null の場合はデフォルトの処理に委譲します。 引数に対応する値が null の場合はnullを返します。

型パラメータ:
C -
R -
パラメータ:
map - マップ。
戻り値:
関数。

throwing

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> throwing(E exception)
例外を投げる関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
exception - 投げる例外。
戻り値:
関数。

trying

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> trying(Fn<? super C,? extends R,? extends java.lang.Exception> fn,
                                                                   Fn<? super java.lang.Exception,? extends R,? extends E> reportFn,
                                                                   Fn<? super C,?,? extends E> finallyFn)
Java の try-catch-finally のそれぞれのブロックで委譲する関数を生成します。

型パラメータ:
C -
R -
E -
パラメータ:
fn - try ブロックにおける委譲先。
reportFn - catch ブロックにおける委譲先。
finallyFn - finally ブロックにおける委譲先。
戻り値:
関数。

delegate

public static <C,R,E extends java.lang.Exception> Delegator<C,R,E> delegate(Fn<? super C,? extends R,? extends E> fn)
委譲するだけの関数を生成します。

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

delegate

public static <C,R,E extends java.lang.Exception> Delegator<C,R,E> delegate()
委譲するだけの関数を生成します。

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

maybe

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> maybe(Fn<? super C,? extends R,? extends E> fn)
引数がnullの場合は委譲をスキップしてnullを返す関数を生成します。

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

Woolpack API

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