override fun getValue()

in exposed-r2dbc/src/main/kotlin/org/jetbrains/exposed/v1/r2dbc/mappers/DateTimeTypeMapper.kt [48:79]


    override fun <T> getValue(
        row: Row,
        type: Class<T>?,
        index: Int,
        dialect: DatabaseDialect,
        columnType: IColumnType<*>
    ): ValueContainer<T?> {
        return when (type) {
            Time::class.java -> {
                PresentValueContainer(
                    row.get(index - 1, LocalTime::class.java)?.let { Time.valueOf(it) as T }
                )
            }
            Date::class.java -> {
                PresentValueContainer(
                    row.get(index - 1, LocalDate::class.java)?.let { Date.valueOf(it) as T }
                )
            }
            Timestamp::class.java -> {
                try {
                    PresentValueContainer(
                        row.get(index - 1, LocalDateTime::class.java)?.let { Timestamp.valueOf(it) as T }
                    )
                } catch (_: Exception) {
                    PresentValueContainer(
                        row.get(index - 1, String::class.java)?.let { Timestamp.valueOf(it) as T }
                    )
                }
            }
            else -> NoValueContainer()
        }
    }