From e3c117f126b87991cc490d62d25c8b486f87a733 Mon Sep 17 00:00:00 2001 From: tursom Date: Tue, 11 Aug 2020 00:55:57 +0800 Subject: [PATCH] add TypeAdapter --- .../main/kotlin/cn/tursom/database/TypeAdapterFactory.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/database/src/main/kotlin/cn/tursom/database/TypeAdapterFactory.kt b/database/src/main/kotlin/cn/tursom/database/TypeAdapterFactory.kt index 3f9fbd1..96383e0 100644 --- a/database/src/main/kotlin/cn/tursom/database/TypeAdapterFactory.kt +++ b/database/src/main/kotlin/cn/tursom/database/TypeAdapterFactory.kt @@ -12,7 +12,6 @@ import kotlin.reflect.full.isSubclassOf object TypeAdapterFactory { private val adapterMap = ConcurrentSkipListMap>>() - private val adapterQueue = ConcurrentLinkedQueue>() init { scanPackage("cn.tursom.database.typeadapter") @@ -29,8 +28,11 @@ object TypeAdapterFactory { return queue!! } - fun scanPackage(pkg: String) { - getClassByPackage(pkg).forEach { + fun scanPackage( + pkg: String, + classLoader: ClassLoader = this.javaClass.classLoader + ) { + classLoader.getClassByPackage(pkg).forEach { try { val clazz = Class.forName(it).kotlin if (clazz.isSubclassOf(TypeAdapter::class)) {