Class DataTableTypeRegistryTableConverter
- java.lang.Object
-
- io.cucumber.datatable.DataTableTypeRegistryTableConverter
-
- All Implemented Interfaces:
DataTable.TableConverter
@API(status=STABLE) public final class DataTableTypeRegistryTableConverter extends Object implements DataTable.TableConverter
-
-
Constructor Summary
Constructors Constructor Description DataTableTypeRegistryTableConverter(DataTableTypeRegistry registry)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
convert(DataTable dataTable, Type type)
Converts aDataTable
to another type.<T> T
convert(DataTable dataTable, Type type, boolean transposed)
Converts aDataTable
to another type.<T> List<T>
toList(DataTable dataTable, Type itemType)
Converts aDataTable
to a list.<T> List<List<T>>
toLists(DataTable dataTable, Type itemType)
Converts aDataTable
to a list of lists.<K,V>
Map<K,V>toMap(DataTable dataTable, Type keyType, Type valueType)
Converts aDataTable
to a map.<K,V>
List<Map<K,V>>toMaps(DataTable dataTable, Type keyType, Type valueType)
Converts aDataTable
to a list of maps.
-
-
-
Constructor Detail
-
DataTableTypeRegistryTableConverter
public DataTableTypeRegistryTableConverter(DataTableTypeRegistry registry)
-
-
Method Detail
-
convert
public <T> T convert(DataTable dataTable, Type type)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
to another type.Delegates to
toList
,toLists
,toMap
andtoMaps
forList<T>
,List<List<T>>
,Map<K,V>
andList<Map<K,V>>
respectively.- Specified by:
convert
in interfaceDataTable.TableConverter
- Type Parameters:
T
- the type to convert to- Parameters:
dataTable
- the table to converttype
- the type to convert to- Returns:
- an object of type
-
convert
public <T> T convert(DataTable dataTable, Type type, boolean transposed)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
to another type.Delegates to
toList
,toLists
,toMap
andtoMaps
forList<T>
,List<List<T>>
,Map<K,V>
andList<Map<K,V>>
respectively.- Specified by:
convert
in interfaceDataTable.TableConverter
- Type Parameters:
T
- the type to convert to- Parameters:
dataTable
- the table to converttype
- the type to convert totransposed
- whether the table should be transposed first.- Returns:
- an object of type
-
toList
public <T> List<T> toList(DataTable dataTable, Type itemType)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
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 ] ]
- Specified by:
toList
in interfaceDataTable.TableConverter
- Type Parameters:
T
- the type to convert to- Parameters:
dataTable
- the table to convertitemType
- the list item type to convert to- Returns:
- a list of objects of
itemType
-
toLists
public <T> List<List<T>> toLists(DataTable dataTable, Type itemType)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
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" ] ]
- Specified by:
toLists
in interfaceDataTable.TableConverter
- Type Parameters:
T
- the type to convert to- Parameters:
dataTable
- the table to convertitemType
- the list item type to convert to- Returns:
- a list of lists of objects of
itemType
-
toMap
public <K,V> Map<K,V> toMap(DataTable dataTable, Type keyType, Type valueType)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
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 ] }
- Specified by:
toMap
in interfaceDataTable.TableConverter
- Type Parameters:
K
- the key type to convert toV
- the value type to convert to- Parameters:
dataTable
- the table to convertkeyType
- the key type to convert tovalueType
- the value to convert to- Returns:
- a map of
keyType
valueType
-
toMaps
public <K,V> List<Map<K,V>> toMaps(DataTable dataTable, Type keyType, Type valueType)
Description copied from interface:DataTable.TableConverter
Converts aDataTable
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 } ]
- Specified by:
toMaps
in interfaceDataTable.TableConverter
- Type Parameters:
K
- the key type to convert toV
- the value type to convert to- Parameters:
dataTable
- the table to convertkeyType
- the key type to convert tovalueType
- the value to convert to- Returns:
- a list of maps of
keyType
valueType
-
-