From f42934be66cfcfedb43dd7c42e7a211efb8969a5 Mon Sep 17 00:00:00 2001 From: tursom Date: Sun, 16 Aug 2020 03:50:48 +0800 Subject: [PATCH] update ListClassLoader --- .../kotlin/cn/tursom/core/ListClassLoader.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/cn/tursom/core/ListClassLoader.kt b/src/main/kotlin/cn/tursom/core/ListClassLoader.kt index d49de18..f6fd9aa 100644 --- a/src/main/kotlin/cn/tursom/core/ListClassLoader.kt +++ b/src/main/kotlin/cn/tursom/core/ListClassLoader.kt @@ -1,23 +1,23 @@ package cn.tursom.core -import java.net.URL -import java.net.URLClassLoader - - @Suppress("unused") -class ListClassLoader(url: Array, parent: ClassLoader? = null) : URLClassLoader(url, parent) { - private val parentList = ArrayList() - val parents: List get() = parentList +class ListClassLoader( + //url: Array, + parent: ClassLoader = getSystemClassLoader() +) : ClassLoader(parent), + MutableList by ArrayList() { - fun addParent(parent: ClassLoader) = parentList.add(parent) - fun removeParent(parent: ClassLoader) = parentList.remove(parent) + val parents: List get() = this + + fun addParent(parent: ClassLoader) = add(parent) + fun removeParent(parent: ClassLoader) = remove(parent) override fun findClass(name: String?): Class<*> { try { return super.findClass(name) } catch (e: ClassNotFoundException) { } - parentList.forEach { + forEach { try { return it.loadClass(name) } catch (e: ClassNotFoundException) {