Top Description Methods
org.jooq

public Interface RecordMapperProvider

Known Direct Implementers
org.jooq.impl.DefaultRecordMapperProvider, org.jooq.impl.DefaultConfiguration.RecordMapperWrapper
Annotations
@FunctionalInterface
Imports
org.jooq.impl.DefaultRecordMapper, .DefaultRecordMapperProvider, org.jetbrains.annotations.NotNull

A provider for RecordMapper instances.

In order to inject custom Record to POJO mapping behaviour, users can supply a custom RecordMapperProvider to their Configuration instances. This provider will be used in any of these methods (non-exhaustive list):

Cursor

Record

Result

ResultQuery

DAO

While not strictly required, it is advisable to implement a RecordMapperProvider whose behaviour is consistent with the configured RecordUnmapperProvider.

Author
Lukas Eder
See Also
RecordMapper, Configuration

Method Summary

Modifier and TypeMethod and Description
public <R extends Record, E> @NotNull RecordMapper<R, E>

Returns:

A RecordMapper instance.
provide
(RecordType<R>
The RecordType of records that shall be mapped by the returned RecordMapper.
recordType
,
Class<? extends E>
The user type that was passed into Record#into(Class) or any other method.
type
)

Provide a RecordMapper instance.

Method Detail

provideback to summary
public <R extends Record, E> @NotNull RecordMapper<R, E> provide(RecordType<R> recordType, Class<? extends E> type)

Provide a RecordMapper instance.

Implementations are free to choose whether this method returns new instances at every call or whether the same instance is returned repetitively.

A RecordMapper instance should be able to map any number of records with the same RecordType. For example, for Record#into(Class), provide() and RecordMapper#map(Record) are called only once. For Result#into(Class), provide() is called only once, but RecordMapper#map(Record) is called several times, once for every Record in the Result.

Parameters
recordType:RecordType<R>

The RecordType of records that shall be mapped by the returned RecordMapper.

type:Class<? extends E>

The user type that was passed into Record#into(Class) or any other method.

Returns:@NotNull RecordMapper<R, E>

A RecordMapper instance.

Annotations
@NotNull
See Also
RecordMapper, DefaultRecordMapper, DefaultRecordMapperProvider