Description
Please do a quick search on Github issues first, the feature you are about to request might have already been requested.
Expected Behavior
Make FlatFileItemReaderBuilder
detect whether the target type is Kotlin data class and sets proper FieldSetMapper
which is not BeanWrapperFieldSetMapper
.
RecordFieldSetMapper
works with a Kotlin data class but we might be better to introduce a new dedicated FieldSetMapper
.
Current Behavior
The FlatFileItemReaderBuilder
only detects whether the target type is record or not. So it sets the BeanWrapperFieldSetMapper
which instantiates the target type by the default constructor (no-args) and causes NotWritablePropertyException
:
Context
As a workaround, we might make the data class fields nullable and mutable like:
data class Player(var lastName: String? = null)
but as you know, it doesn't leverage the Kotlin's features.