Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 9ea00cf

Browse files
committed
マッピング関数はパラメータ側に持たせるよう修正
1 parent b3b72ac commit 9ea00cf

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/main/kotlin/com/mapk/krowmapper/ParameterForMap.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.mapk.krowmapper
22

3+
import com.mapk.core.EnumMapper
34
import com.mapk.core.getAliasOrName
5+
import java.sql.ResultSet
46
import kotlin.reflect.KClass
57
import kotlin.reflect.KFunction
68
import kotlin.reflect.KParameter
@@ -11,6 +13,14 @@ class ParameterForMap private constructor(
1113
val clazz: Class<*>,
1214
private val deserializer: KFunction<*>?
1315
) {
16+
fun getObject(rs: ResultSet): Any? = when {
17+
clazz.isEnum -> EnumMapper.getEnum(clazz, rs.getString(name))
18+
else -> {
19+
val value: Any? = rs.getObject(name, clazz)
20+
deserializer?.call(value) ?: value
21+
}
22+
}
23+
1424
companion object {
1525
fun newInstance(param: KParameter, propertyNameConverter: (String) -> String = { it }): ParameterForMap {
1626
return ParameterForMap(

0 commit comments

Comments
 (0)