- All Superinterfaces:
Function<R,E>
- All Known Implementing Classes:
DefaultRecordMapper
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
RecordMapper
is a mapper that can receive Record
objects, when fetching data from the database, transforming them into a
custom type <E>
.
RecordMapper
is used behind the scenes in methods like
ResultQuery.fetchInto(Class)
, Result.into(Class)
,
Record.into(Class)
and other methods called into(Class)
,
where the argument class is a Class
of type E
.
The default RecordMapper
behaviour in the context of a
Configuration
can be overridden through that
configuration
's Configuration.recordMapperProvider()
SPI. Custom record mappers can be constructed using lambda expressions, using
various Records.mapping(Function1)
,
Records.mapping(Function2)
, etc. utilities, and other ways.
A RecordMapper
is never asked to map null
record values,
which can be obtained using methods like
ResultQuery.fetchOne(RecordMapper)
, or by using RowN
types as
nested records in scalar subqueries, mapping them e.g. via
Row2.mapping(Function2)
. Instead, null
is produced
without passing by this SPI.
The inverse operation is modelled by RecordUnmapper
.
- Author:
- Lukas Eder
-
Method Summary