pekko/kernel/src/main/scala/jersey/ActorComponentProviderFactory.scala

23 lines
796 B
Scala
Raw Normal View History

/**
* Copyright (C) 2009 Scalable Solutions.
*/
package se.scalablesolutions.akka.kernel.jersey
2009-07-28 23:00:03 +02:00
import kernel.Kernel
import javax.ws.rs.core.Context
import com.sun.jersey.core.spi.component.ioc.{IoCComponentProvider,IoCComponentProviderFactory}
import com.sun.jersey.core.spi.component.{ComponentContext}
import config.Configurator
2009-07-28 23:00:03 +02:00
class ActorComponentProviderFactory(val configurators: List[Configurator])
extends IoCComponentProviderFactory {
override def getComponentProvider(clazz: Class[_]): IoCComponentProvider = getComponentProvider(null, clazz)
2009-07-28 23:00:03 +02:00
override def getComponentProvider(context: ComponentContext, clazz: Class[_]): IoCComponentProvider = {
configurators.find(_.isDefined(clazz)).map(_ => new ActorComponentProvider(clazz, configurators)).getOrElse(null)
}
}