概要 | パッケージ | クラス | 非推奨 API | 索引
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## woolpack.convert
クラス ConvertUtils

    java.lang.Object
      woolpack.convert.ConvertUtils

    public final class ConvertUtils

extends Object

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

フィールドの概要
`static Fn<Object,BigDecimal,RuntimeException>` | `TO_BIG_DECIMAL` 入力を`Number`にキャストして `BigDecimal`に変換する関数です。
`static Fn<Object,BigInteger,RuntimeException>` | `TO_BIG_INTEGER` 入力を`Number`にキャストして `BigInteger`に変換する関数です。
`static Fn<Object,Byte,RuntimeException>` | `TO_BYTE` 入力を`Number`にキャストして `Byte`に変換する関数です。
`static Fn<Object,Calendar,RuntimeException>` | `TO_CALENDAR` 入力を`Date`にキャストして `Calendar`に変換する関数です。
`static Fn<Object,Double,RuntimeException>` | `TO_DOUBLE` 入力を`Number`にキャストして `Double`に変換する関数です。
`static Fn<Object,Float,RuntimeException>` | `TO_FLOAT` 入力を`Number`にキャストして `Float`に変換する関数です。
`static Fn<Object,Integer,RuntimeException>` | `TO_INTEGER` 入力を`Number`にキャストして `Integer`に変換する関数です。
`static Fn<Object,Long,RuntimeException>` | `TO_LONG` 入力を`Number`にキャストして `Long`に変換する関数です。
`static Fn<Object,Short,RuntimeException>` | `TO_SHORT` 入力を`Number`にキャストして `Short`に変換する関数です。
`static Fn<Object,Date,RuntimeException>` | `TO_SQL_DATE` 入力を`Date`にキャストして `Date`に変換する関数です。
`static Fn<Object,String,RuntimeException>` | `TO_STRING` `Object.toString()`で変換する関数です。
`static Fn<Object,Time,RuntimeException>` | `TO_TIME` 入力を`Date`にキャストして `Time`に変換する関数です。
`static Fn<Object,Timestamp,RuntimeException>` | `TO_TIMESTAMP` 入力を`Date`にキャストして `Timestamp`に変換する関数です。

メソッドの概要
`static Fn<String,String,RuntimeException>` | `convertRegExp(Pattern pattern, String replacement)` 正規表現で変換する関数を生成します。
`static
`<E extends Exception> Fn<Object,String,E>`
` | `format(Fn<?,? extends Format,? extends E> formatFactory)` `Format.format(Object)`で変換する関数を生成します。
`static Fn<Object,Format,RuntimeException>` | `formatFactory(Format format)` `Format`の新規のインスタンスを`Format.clone()`により複製するファクトリを生成します。
`static
`<K> Fn<Map<K,?>,Set<K>,RuntimeException>`
` | `keySet()` `Map.keySet()`を返す関数を生成します。
`static Fn<String,String,RuntimeException>` | `netMask(String netMask)` コンテキスト役をIPv4アドレスとしてネットワークアドレスを返す関数を生成します。
`static Fn<String,Object,Exception>` | `parse(Fn<?,? extends Format,? extends Exception> formatFactory)` `Format.parseObject(String)`で変換する関数を生成します。
`static Fn<Map<?,?>,Boolean,RuntimeException>` | `retainKeys(Collection<?> collection)` マップの指定されたキーを残す関数を生成します。
`static
`<C,R> Fn<C,R,IllegalStateException>`
` | `trys(Iterable<? extends Fn<? super C,? extends R,? extends Exception>> iterable)` 成功するまで順に委譲する関数を生成します。
`static
`<C,R,E extends Exception> Fn<C,R,E>`
` | `trys(Iterable<? extends Fn<? super C,? extends R,? extends Exception>> iterable, Fn<? super Exception,?,? extends E> errorFn, Fn<? super Exception,? extends R,? extends E> finalFn)` 成功するまで順に委譲する関数を生成します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### TO_BIG_DECIMAL

    public static final Fn<Object,BigDecimal,RuntimeException> TO_BIG_DECIMAL

  入力を`Number`にキャストして `BigDecimal`に変換する関数です。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。 キャストできない場合は`ClassCastException`を投げます。

### TO_BIG_INTEGER

    public static final Fn<Object,BigInteger,RuntimeException> TO_BIG_INTEGER

  入力を`Number`にキャストして `BigInteger`に変換する関数です。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。 キャストできない場合は`ClassCastException`を投げます。 範囲外の場合は`ArithmeticException`を投げます。

### TO_BYTE

    public static final Fn<Object,Byte,RuntimeException> TO_BYTE

  入力を`Number`にキャストして `Byte`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。 範囲外の場合は`IllegalArgumentException`を投げます。

### TO_DOUBLE

    public static final Fn<Object,Double,RuntimeException> TO_DOUBLE

  入力を`Number`にキャストして `Double`に変換する関数です。 `Number.doubleValue()`を使用するため丸め誤差が発生する可能性があります。 キャストできない場合は`ClassCastException`を投げます。

### TO_FLOAT

    public static final Fn<Object,Float,RuntimeException> TO_FLOAT

  入力を`Number`にキャストして `Float`に変換する関数です。 一度値を double 型で取得して float 型に変換するため、 丸め誤差が発生する可能性があります。 キャストできない場合は`ClassCastException`を投げます。

### TO_INTEGER

    public static final Fn<Object,Integer,RuntimeException> TO_INTEGER

  入力を`Number`にキャストして `Integer`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。 範囲外の場合は`IllegalArgumentException`を投げます。

### TO_LONG

    public static final Fn<Object,Long,RuntimeException> TO_LONG

  入力を`Number`にキャストして `Long`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。 範囲外の場合は`IllegalArgumentException`を投げます。

### TO_SHORT

    public static final Fn<Object,Short,RuntimeException> TO_SHORT

  入力を`Number`にキャストして `Short`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。 範囲外の場合は`IllegalArgumentException`を投げます。

### TO_SQL_DATE

    public static final Fn<Object,Date,RuntimeException> TO_SQL_DATE

  入力を`Date`にキャストして `Date`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。

### TO_TIME

    public static final Fn<Object,Time,RuntimeException> TO_TIME

  入力を`Date`にキャストして `Time`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。

### TO_TIMESTAMP

    public static final Fn<Object,Timestamp,RuntimeException> TO_TIMESTAMP

  入力を`Date`にキャストして `Timestamp`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。

### TO_CALENDAR

    public static final Fn<Object,Calendar,RuntimeException> TO_CALENDAR

  入力を`Date`にキャストして `Calendar`に変換する関数です。 キャストできない場合は`ClassCastException`を投げます。

### TO_STRING

    public static final Fn<Object,String,RuntimeException> TO_STRING

  `Object.toString()`で変換する関数です。

メソッドの詳細

### keySet

    public static <K> Fn<Map<K,?>,Set<K>,RuntimeException> keySet()

  `Map.keySet()`を返す関数を生成します。

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

### formatFactory

    public static Fn<Object,Format,RuntimeException> formatFactory(Format format)

  `Format`の新規のインスタンスを`Format.clone()`により複製するファクトリを生成します。 `Format`の各サブクラスはスレッドセーフでなく `Cloneable`を実装して Prototype デザインパターンを適用していますが、 本クラスはこれを Abstract Factory デザインパターンに変換しています。
  適用しているデザインパターン：`Format`のAbstract Factory、Prototype。

  パラメータ:
    `format` - プロトタイプ。
  戻り値:
    関数。

### format

    public static <E extends Exception> Fn<Object,String,E> format(Fn<?,? extends Format,? extends E> formatFactory)

  `Format.format(Object)`で変換する関数を生成します。
  適用しているデザインパターン：変換ルールと変換対象のCurrying。

  型パラメータ:
    `E` -
  パラメータ:
    `formatFactory` - フォーマットのファクトリ。
  戻り値:
    関数。

### netMask

    public static Fn<String,String,RuntimeException> netMask(String netMask)

  コンテキスト役をIPv4アドレスとしてネットワークアドレスを返す関数を生成します。
  適用しているデザインパターン：ネットマスクとアドレスのCurrying。

  パラメータ:
    `netMask` - ネットマスク。
  戻り値:
    関数。

### parse

    public static Fn<String,Object,Exception> parse(Fn<?,? extends Format,? extends Exception> formatFactory)

  `Format.parseObject(String)`で変換する関数を生成します。 「NumberFormat の構文解析問題の解決」 (http://www-06.ibm.com/jp/developerworks/java/library/j-numberformat/index.shtml) のテクニックを使用してデータの欠損を検出しています。 パースに失敗した場合は`ParseException`を投げます。
  適用しているデザインパターン：変換ルールと変換対象のCurrying。

  パラメータ:
    `formatFactory` - フォーマットのファクトリ。
  戻り値:
    関数。

### convertRegExp

    public static Fn<String,String,RuntimeException> convertRegExp(Pattern pattern,
                                                                   String replacement)

  正規表現で変換する関数を生成します。
  適用しているデザインパターン：変換ルールと変換対象のCurrying。

  パラメータ:
    `pattern` - 正規表現。
    `replacement` - 変換パターン。
  戻り値:
    関数。

### trys

    public static <C,R,E extends Exception> Fn<C,R,E> trys(Iterable<? extends Fn<? super C,? extends R,? extends Exception>> iterable,
                                                           Fn<? super Exception,?,? extends E> errorFn,
                                                           Fn<? super Exception,? extends R,? extends E> finalFn)

  成功するまで順に委譲する関数を生成します。
  適用しているデザインパターン：`Fn`のComposite。

  型パラメータ:
    `C` -
    `R` -
    `E` -
  パラメータ:
    `iterable` - 委譲先の一覧。
    `errorFn` - エラー発生時の委譲先。
    `finalFn` - 最後まで成功しなかった場合の委譲先。
  戻り値:
    関数。

### trys

    public static <C,R> Fn<C,R,IllegalStateException> trys(Iterable<? extends Fn<? super C,? extends R,? extends Exception>> iterable)

  成功するまで順に委譲する関数を生成します。 最後まで成功しなかった場合は`IllegalStateException`を投げます。
  適用しているデザインパターン：`Fn`のComposite。

  型パラメータ:
    `C` -
    `R` -
  パラメータ:
    `iterable` - 委譲先の一覧。
  戻り値:
    関数。
  関連項目:
    `trys(Iterable, Fn, Fn)`

### retainKeys

    public static Fn<Map<?,?>,Boolean,RuntimeException> retainKeys(Collection<?> collection)

  マップの指定されたキーを残す関数を生成します。
  適用しているデザインパターン：変換ルールと変換対象のCurrying。

  パラメータ:
    `collection` - 残すキーのコレクション。
  戻り値:
    関数。

概要 | パッケージ | クラス | 非推奨 API | 索引
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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