Class ColumnMapRowMapper
- All Implemented Interfaces:
BiFunction<Row,
RowMetadata, Map<String, Object>>
Mapping function
implementation that creates a
java.util.Map
for each row, representing all columns as
key-value pairs: one entry for each column, with the column name as key.
The Map implementation to use and the key to use for each column
in the column Map can be customized through overriding
createColumnMap(int)
and getColumnKey(java.lang.String)
, respectively.
Note: By default, ColumnMapRowMapper will try to build a linked Map with case-insensitive keys, to preserve column order as well as allow any casing to be used for column names. This requires Commons Collections on the classpath (which will be autodetected). Else, the fallback is a standard linked HashMap, which will still preserve column order but requires the application to specify the column names in the same casing as exposed by the driver.
- Since:
- 5.3
- Author:
- Mark Paluch
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ColumnMapRowMapper
A defaultColumnMapRowMapper
instance. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionapply
(Row row, RowMetadata rowMetadata) createColumnMap
(int columnCount) Create aMap
instance to be used as column map.protected String
getColumnKey
(String columnName) Determine the key to use for the given column in the columnMap
.protected Object
getColumnValue
(Row row, int index) Retrieve a R2DBC object value for the specified column.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Field Details
-
INSTANCE
A defaultColumnMapRowMapper
instance.
-
-
Constructor Details
-
ColumnMapRowMapper
public ColumnMapRowMapper()
-
-
Method Details
-
apply
- Specified by:
apply
in interfaceBiFunction<Row,
RowMetadata, Map<String, Object>>
-
createColumnMap
Create aMap
instance to be used as column map.By default, a linked case-insensitive Map will be created.
- Parameters:
columnCount
- the column count, to be used as initial capacity for the Map- Returns:
- the new
Map
instance - See Also:
-
getColumnKey
Determine the key to use for the given column in the columnMap
.- Parameters:
columnName
- the column name as returned by theRow
- Returns:
- the column key to use
- See Also:
-
getColumnValue
Retrieve a R2DBC object value for the specified column.The default implementation uses the
Readable.get(int)
method.- Parameters:
row
- is theRow
holding the dataindex
- is the column index- Returns:
- the Object returned
-