aboutsummaryrefslogtreecommitdiff
path: root/stage1/ClassLoaderCache.scala
blob: e430ee12b4721412077f72b88f9ac3b5c6caecf3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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")
    ++
    ")"
  )
}