型変換用の部品のパッケージです。 このパッケージは{@link woolpack.el.EL}のパッケージの式言語の単純実装で使用します。 このパッケージは以下の複合オブジェクトの変換をサポートします。

1. 「view」は変換後インスタンスへの作用が変換前インスタンスにも作用することを表します。
2. 「copy」は変換後インスタンスへの作用が変換前インスタンスに作用しないことを表します。
3. 「same」は変換後インスタンスが変換前インスタンスと同一であることを表します。
4. 「check」は丸め誤差や桁あふれをチェックすることを表します。
5. 「round」は丸め誤差や桁あふれをチェックせずに新しいインスタンスを生成することを表します。
6. 「o」は新しいインスタンスを生成することを表します。
7. 「x」は変換できないことを表します。

from\to | Bean | Map
--- | --- | ---
Bean | from extends toでないならcopy | リフレクションでview
Map | リフレクションでcopy | same

from\to | 配列 | List | Set | Collection | Iterable | コレクションでない型
--- | --- | --- | --- | --- | --- | ---
配列 | from extends toでないならcopy | view | LinkedHashSetにcopy | view | view | 先頭要素
List | copy | same | LinkedHashSetにcopy | same | same | 先頭要素
Set | copy | ArrayListにcopy | same | same | same | 先頭要素
Collection | copy | ArrayListにcopy | LinkedHashSetにcopy | same | same | 先頭要素
Iterable | copy | ArrayListにcopy | LinkedHashSetにcopy | ArrayListにcopy | same | 先頭要素
コレクションでない型 | singleton | singleton | singleton | singleton | singleton | 別表

このパッケージは以下の単純オブジェクトの変換をサポートします(プリミティブ型はラッパー型と同様です)。

from\to | String | Number | 日付型 | Boolean | Character
--- | --- | --- | --- | --- | ---
String | same | NumberFormatで変換 | DateFormatで変換 | "false"をfalseに変換 | 一文字目
Number | NumberFormatで変換 | 別表 | 一部別表 | trueに変換 | 一文字目
日付型 | DateFormatで変換 | 一部別表 | 別表 | trueに変換 | 一文字目
Boolean | Object.toString()で変換 | trueは1に、falseは0に変換 | x | same | 一文字目
Character | Object.toString()で変換 | NumberFormatで変換 | x | trueに変換 | same

from\to | Byte | Short | Integer | Long | Float | Double | BigInteger | BigDecimal
--- | --- | --- | --- | --- | --- | --- | --- | ---
Byte | same | o | o | o | o | o | o | o
Short | check | same | o | o | o | o | o | o
Integer | check | check | same | o | o | o | o | o
Long | check | check | check | same | o | o | o | o
Float | check | check | check | check | same | o | check | o
Double | check | check | check | check | round | same | check | o
BigInteger | check | check | check | check | round | round | same | o
BigDecimal | check | check | check | check | round | round | check | same

from\to | java.util.Date | java.sql.Date | java.sql.Time | java.sql.Timestamp | java.util.Calendar | Long
--- | --- | --- | --- | --- | --- | ---
java.util.Date | same | round | round | o | o | o
java.sql.Date | o | same | round | o | o | o
java.sql.Time | o | round | same | o | o | o
java.sql.Timestamp | o | round | round | same | o | o
java.util.Calendar | o | round | round | o | same | o
Long | o | round | round | o | o | same