diff options
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") + ++ + ")" + ) +} |