diff options
author | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-07 02:21:50 -0500 |
---|---|---|
committer | Christopher Vogt <oss.nsp@cvogt.org> | 2016-11-07 02:21:50 -0500 |
commit | c6b9a480879c101028b20b9cc8716b8ffa773630 (patch) | |
tree | fff15c1d6595455f6994f5793b63b08c5bf24d4a /stage1/ClassLoaderCache.scala | |
parent | c89f87c9c9a0c7b256f225e37c55cb34f060aa6c (diff) | |
parent | fd849d293448d55c6bcb6f8440f44838b51fc860 (diff) | |
download | cbt-c6b9a480879c101028b20b9cc8716b8ffa773630.tar.gz cbt-c6b9a480879c101028b20b9cc8716b8ffa773630.tar.bz2 cbt-c6b9a480879c101028b20b9cc8716b8ffa773630.zip |
Merge remote-tracking branch 'origin/master' into integrate-eval
Diffstat (limited to 'stage1/ClassLoaderCache.scala')
-rw-r--r-- | stage1/ClassLoaderCache.scala | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/stage1/ClassLoaderCache.scala b/stage1/ClassLoaderCache.scala new file mode 100644 index 0000000..e430ee1 --- /dev/null +++ b/stage1/ClassLoaderCache.scala @@ -0,0 +1,24 @@ +package cbt + +import java.net._ +import java.util.concurrent.ConcurrentHashMap +import collection.JavaConversions._ + +case class ClassLoaderCache( + logger: Logger, + private[cbt] permanentKeys: ConcurrentHashMap[String,AnyRef], + private[cbt] permanentClassLoaders: ConcurrentHashMap[AnyRef,ClassLoader] +){ + val persistent = new KeyLockedLazyCache( + permanentKeys, + permanentClassLoaders, + Some(logger) + ) + override def toString = ( + s"ClassLoaderCache(" + ++ + persistent.keys.keySet.toVector.map(_.toString.split(":").mkString("\n")).sorted.mkString("\n\n","\n\n","\n\n") + ++ + ")" + ) +} |