Woolpack API

woolpack.convert
クラス ConvertUtils

java.lang.Object
  上位を拡張 woolpack.convert.ConvertUtils

public final class ConvertUtils
extends java.lang.Object

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

作成者:
nakamura

フィールドの概要
static Fn<java.lang.Object,java.math.BigDecimal,java.lang.RuntimeException> TO_BIG_DECIMAL
          入力をNumberにキャストして BigDecimalに変換する関数です。
static Fn<java.lang.Object,java.math.BigInteger,java.lang.RuntimeException> TO_BIG_INTEGER
          入力をNumberにキャストして BigIntegerに変換する関数です。
static Fn<java.lang.Object,java.lang.Byte,java.lang.RuntimeException> TO_BYTE
          入力をNumberにキャストして Byteに変換する関数です。
static Fn<java.lang.Object,java.util.Calendar,java.lang.RuntimeException> TO_CALENDAR
          入力をDateにキャストして Calendarに変換する関数です。
static Fn<java.lang.Object,java.lang.Double,java.lang.RuntimeException> TO_DOUBLE
          入力をNumberにキャストして Doubleに変換する関数です。
static Fn<java.lang.Object,java.lang.Float,java.lang.RuntimeException> TO_FLOAT
          入力をNumberにキャストして Floatに変換する関数です。
static Fn<java.lang.Object,java.lang.Integer,java.lang.RuntimeException> TO_INTEGER
          入力をNumberにキャストして Integerに変換する関数です。
static Fn<java.lang.Object,java.lang.Long,java.lang.RuntimeException> TO_LONG
          入力をNumberにキャストして Longに変換する関数です。
static Fn<java.lang.Object,java.lang.Short,java.lang.RuntimeException> TO_SHORT
          入力をNumberにキャストして Shortに変換する関数です。
static Fn<java.lang.Object,java.sql.Date,java.lang.RuntimeException> TO_SQL_DATE
          入力をDateにキャストして Dateに変換する関数です。
static Fn<java.lang.Object,java.lang.String,java.lang.RuntimeException> TO_STRING
          Object.toString()で変換する関数です。
static Fn<java.lang.Object,java.sql.Time,java.lang.RuntimeException> TO_TIME
          入力をDateにキャストして Timeに変換する関数です。
static Fn<java.lang.Object,java.sql.Timestamp,java.lang.RuntimeException> TO_TIMESTAMP
          入力をDateにキャストして Timestampに変換する関数です。
 
メソッドの概要
static Fn<java.lang.String,java.lang.String,java.lang.RuntimeException> convertRegExp(java.util.regex.Pattern pattern, java.lang.String replacement)
          正規表現で変換する関数を生成します。
static
<E extends java.lang.Exception>
Fn<java.lang.Object,java.lang.String,E>
format(Fn<?,? extends java.text.Format,? extends E> formatFactory)
          Format.format(Object)で変換する関数を生成します。
static Fn<java.lang.Object,java.text.Format,java.lang.RuntimeException> formatFactory(java.text.Format format)
          Formatの新規のインスタンスをFormat.clone()により複製するファクトリを生成します。
static
<K> Fn<java.util.Map<K,?>,java.util.Set<K>,java.lang.RuntimeException>
keySet()
          Map.keySet()を返す関数を生成します。
static Fn<java.lang.String,java.lang.String,java.lang.RuntimeException> netMask(java.lang.String netMask)
          コンテキスト役をIPv4アドレスとしてネットワークアドレスを返す関数を生成します。
static Fn<java.lang.String,java.lang.Object,java.lang.Exception> parse(Fn<?,? extends java.text.Format,? extends java.lang.Exception> formatFactory)
          Format.parseObject(String)で変換する関数を生成します。
static Fn<java.util.Map<?,?>,java.lang.Boolean,java.lang.RuntimeException> retainKeys(java.util.Collection<?> collection)
          マップの指定されたキーを残す関数を生成します。
static
<C,R> Fn<C,R,java.lang.IllegalStateException>
trys(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends java.lang.Exception>> iterable)
          成功するまで順に委譲する関数を生成します。
static
<C,R,E extends java.lang.Exception>
Fn<C,R,E>
trys(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends java.lang.Exception>> iterable, Fn<? super java.lang.Exception,?,? extends E> errorFn, Fn<? super java.lang.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<java.lang.Object,java.math.BigDecimal,java.lang.RuntimeException> TO_BIG_DECIMAL
入力をNumberにキャストして BigDecimalに変換する関数です。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToBigDecimalConverter

TO_BIG_INTEGER

public static final Fn<java.lang.Object,java.math.BigInteger,java.lang.RuntimeException> TO_BIG_INTEGER
入力をNumberにキャストして BigIntegerに変換する関数です。 このクラスは LSP(The Liskov Substitution Principle) を満たしません。 キャストできない場合はClassCastExceptionを投げます。 範囲外の場合はArithmeticExceptionを投げます。

関連項目:
ToBigIntegerConverter

TO_BYTE

public static final Fn<java.lang.Object,java.lang.Byte,java.lang.RuntimeException> TO_BYTE
入力をNumberにキャストして Byteに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。 範囲外の場合はIllegalArgumentExceptionを投げます。

関連項目:
ToByteConverter

TO_DOUBLE

public static final Fn<java.lang.Object,java.lang.Double,java.lang.RuntimeException> TO_DOUBLE
入力をNumberにキャストして Doubleに変換する関数です。 Number.doubleValue()を使用するため丸め誤差が発生する可能性があります。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToDoubleConverter

TO_FLOAT

public static final Fn<java.lang.Object,java.lang.Float,java.lang.RuntimeException> TO_FLOAT
入力をNumberにキャストして Floatに変換する関数です。 一度値を double 型で取得して float 型に変換するため、 丸め誤差が発生する可能性があります。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToFloatConverter

TO_INTEGER

public static final Fn<java.lang.Object,java.lang.Integer,java.lang.RuntimeException> TO_INTEGER
入力をNumberにキャストして Integerに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。 範囲外の場合はIllegalArgumentExceptionを投げます。

関連項目:
ToIntegerConverter

TO_LONG

public static final Fn<java.lang.Object,java.lang.Long,java.lang.RuntimeException> TO_LONG
入力をNumberにキャストして Longに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。 範囲外の場合はIllegalArgumentExceptionを投げます。

関連項目:
ToLongConverter

TO_SHORT

public static final Fn<java.lang.Object,java.lang.Short,java.lang.RuntimeException> TO_SHORT
入力をNumberにキャストして Shortに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。 範囲外の場合はIllegalArgumentExceptionを投げます。

関連項目:
ToShortConverter

TO_SQL_DATE

public static final Fn<java.lang.Object,java.sql.Date,java.lang.RuntimeException> TO_SQL_DATE
入力をDateにキャストして Dateに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToSqlDateConverter

TO_TIME

public static final Fn<java.lang.Object,java.sql.Time,java.lang.RuntimeException> TO_TIME
入力をDateにキャストして Timeに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToTimeConverter

TO_TIMESTAMP

public static final Fn<java.lang.Object,java.sql.Timestamp,java.lang.RuntimeException> TO_TIMESTAMP
入力をDateにキャストして Timestampに変換する関数です。 キャストできない場合はClassCastExceptionを投げます。

関連項目:
ToTimestampConverter

TO_CALENDAR

public static final Fn<java.lang.Object,java.util.Calendar,java.lang.RuntimeException> TO_CALENDAR
入力をDateにキャストして Calendarに変換する関数です。

関連項目:
ToCalendarConverter

TO_STRING

public static final Fn<java.lang.Object,java.lang.String,java.lang.RuntimeException> TO_STRING
Object.toString()で変換する関数です。

関連項目:
ToStringConverter
メソッドの詳細

keySet

public static <K> Fn<java.util.Map<K,?>,java.util.Set<K>,java.lang.RuntimeException> keySet()
Map.keySet()を返す関数を生成します。

型パラメータ:
K -
戻り値:
関数。
関連項目:
KeySetGetter

formatFactory

public static Fn<java.lang.Object,java.text.Format,java.lang.RuntimeException> formatFactory(java.text.Format format)
Formatの新規のインスタンスをFormat.clone()により複製するファクトリを生成します。 Formatの各サブクラスはスレッドセーフでなく Cloneableを実装して Prototype デザインパターンを適用していますが、 本クラスはこれを Abstract Factory デザインパターンに変換しています。
適用しているデザインパターン:FormatのAbstract Factory、Prototype。

パラメータ:
format - プロトタイプ。
戻り値:
関数。
関連項目:
CloneFormatFactory

format

public static <E extends java.lang.Exception> Fn<java.lang.Object,java.lang.String,E> format(Fn<?,? extends java.text.Format,? extends E> formatFactory)
Format.format(Object)で変換する関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

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

netMask

public static Fn<java.lang.String,java.lang.String,java.lang.RuntimeException> netMask(java.lang.String netMask)
コンテキスト役をIPv4アドレスとしてネットワークアドレスを返す関数を生成します。
適用しているデザインパターン:ネットマスクとアドレスのCurrying。

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

parse

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

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

convertRegExp

public static Fn<java.lang.String,java.lang.String,java.lang.RuntimeException> convertRegExp(java.util.regex.Pattern pattern,
                                                                                             java.lang.String replacement)
正規表現で変換する関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

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

trys

public static <C,R,E extends java.lang.Exception> Fn<C,R,E> trys(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends java.lang.Exception>> iterable,
                                                                 Fn<? super java.lang.Exception,?,? extends E> errorFn,
                                                                 Fn<? super java.lang.Exception,? extends R,? extends E> finalFn)
成功するまで順に委譲する関数を生成します。
適用しているデザインパターン:FnのComposite。

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

trys

public static <C,R> Fn<C,R,java.lang.IllegalStateException> trys(java.lang.Iterable<? extends Fn<? super C,? extends R,? extends java.lang.Exception>> iterable)
成功するまで順に委譲する関数を生成します。 最後まで成功しなかった場合はIllegalStateExceptionを投げます。
適用しているデザインパターン:FnのComposite。

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

retainKeys

public static Fn<java.util.Map<?,?>,java.lang.Boolean,java.lang.RuntimeException> retainKeys(java.util.Collection<?> collection)
マップの指定されたキーを残す関数を生成します。
適用しているデザインパターン:変換ルールと変換対象のCurrying。

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

Woolpack API

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