public static interface DataTable.TableConverter
DataTable to another type.
There are three ways in which a table might be mapped to a certain type. The table converter considers the possible conversions in this order:
| Modifier and Type | Method and Description |
|---|---|
<T> T |
convert(DataTable dataTable,
Type type)
Converts a
DataTable to another type. |
<T> T |
convert(DataTable dataTable,
Type type,
boolean transposed)
Converts a
DataTable to another type. |
<T> List<T> |
toList(DataTable dataTable,
Type itemType)
Converts a
DataTable to a list. |
<T> List<List<T>> |
toLists(DataTable dataTable,
Type itemType)
Converts a
DataTable to a list of lists. |
<K,V> Map<K,V> |
toMap(DataTable dataTable,
Type keyType,
Type valueType)
Converts a
DataTable to a map. |
<K,V> List<Map<K,V>> |
toMaps(DataTable dataTable,
Type keyType,
Type valueType)
Converts a
DataTable to a list of maps. |
<T> T convert(DataTable dataTable, Type type)
DataTable to another type.
Delegates to toList, toLists, toMap and toMaps
for List<T>, List<List<T>>, Map<K,V> and
List<Map<K,V>> respectively.
T - the type to convert todataTable - the table to converttype - the type to convert to<T> T convert(DataTable dataTable, Type type, boolean transposed)
DataTable to another type.
Delegates to toList, toLists, toMap and toMaps
for List<T>, List<List<T>>, Map<K,V> and
List<Map<K,V>> respectively.
T - the type to convert todataTable - the table to converttype - the type to convert totransposed - whether the table should be transposed first.<T> List<T> toList(DataTable dataTable, Type itemType)
DataTable to a list.
A table converter may either map each row or each individual cell to a list element.
For example:
| Annie M. G. Schmidt | 1911-03-20 | | Roald Dahl | 1916-09-13 | convert.toList(table, String.class);can become
[ "Annie M. G. Schmidt", "1911-03-20", "Roald Dahl", "1916-09-13" ]
While:
convert.toList(table, Author.class);
can become:
[ Author[ name: Annie M. G. Schmidt, birthDate: 1911-03-20 ], Author[ name: Roald Dahl, birthDate: 1916-09-13 ] ]
Likewise:
| firstName | lastName | birthDate | | Annie M. G. | Schmidt | 1911-03-20 | | Roald | Dahl | 1916-09-13 | convert.toList(table, Authors.class);can become:
[ Author[ firstName: Annie M. G., lastName: Schmidt, birthDate: 1911-03-20 ], Author[ firstName: Roald, lastName: Dahl, birthDate: 1916-09-13 ] ]
T - the type to convert todataTable - the table to convertitemType - the list item type to convert toitemType<T> List<List<T>> toLists(DataTable dataTable, Type itemType)
DataTable to a list of lists.
Each row maps to a list, each table cell a list entry.
For example:
| Annie M. G. Schmidt | 1911-03-20 | | Roald Dahl | 1916-09-13 | convert.toLists(table, String.class);can become
[
[ "Annie M. G. Schmidt", "1911-03-20" ],
[ "Roald Dahl", "1916-09-13" ]
]
T - the type to convert todataTable - the table to convertitemType - the list item type to convert toitemType<K,V> Map<K,V> toMap(DataTable dataTable, Type keyType, Type valueType)
DataTable to a map.
The left column of the table is used to instantiate the key values. The other columns are used to instantiate the values.
For example:
| 4a1 | Annie M. G. Schmidt | 1911-03-20 | | c92 | Roald Dahl | 1916-09-13 | convert.toMap(table, Id.class, Authors.class);can become:
{
Id[ 4a1 ]: Author[ name: Annie M. G. Schmidt, birthDate: 1911-03-20 ],
Id[ c92 ]: Author[ name: Roald Dahl, birthDate: 1916-09-13 ]
}
The header cells may be used to map values into the types. When doing so the first header cell may be left blank.
For example:
| | firstName | lastName | birthDate | | 4a1 | Annie M. G. | Schmidt | 1911-03-20 | | c92 | Roald | Dahl | 1916-09-13 | convert.toMap(table, Id.class, Authors.class);can becomes:
{
Id[ 4a1 ]: Author[ firstName: Annie M. G., lastName: Schmidt, birthDate: 1911-03-20 ],
Id[ c92 ]: Author[ firstName: Roald, lastName: Dahl, birthDate: 1916-09-13 ]
}
K - the key type to convert toV - the value type to convert todataTable - the table to convertkeyType - the key type to convert tovalueType - the value to convert tokeyType valueType<K,V> List<Map<K,V>> toMaps(DataTable dataTable, Type keyType, Type valueType)
DataTable to a list of maps.
Each map represents a row in the table. The map keys are the column headers.
For example:
| firstName | lastName | birthDate | | Annie M. G. | Schmidt | 1911-03-20 | | Roald | Dahl | 1916-09-13 |can become:
[
{firstName: Annie M. G., lastName: Schmidt, birthDate: 1911-03-20 }
{firstName: Roald, lastName: Dahl, birthDate: 1916-09-13 }
]
K - the key type to convert toV - the value type to convert todataTable - the table to convertkeyType - the key type to convert tovalueType - the value to convert tokeyType valueTypeCopyright © 2020. All rights reserved.