1
我正在使用Jersey在Scala中实现JAX-RS服务。我想为Json提供者提供一个通用特征,并且我需要知道提供者是否支持请求的类。在java中,不可能在运行时知道类型参数的类,因为类型擦除。但是在scala中可以做到吗?是否有可能在Scala中将isAssignableFrom与类型参数一起使用?
此代码不起作用:
trait JsonProvider[A] extends MessageBodyReader[A] with MessageBodyWriter[A] {
final def isReadable(t : Class[_],
genericType: Type,
annotations: Array[Annotation],
mediaType: MediaType): Boolean = {
t.isAssignableFrom(classOf[A]) && mediaType == MediaType.APPLICATION_JSON_TYPE
}
}
什么建议吗?在Java中,最好的方法是在Scala中有一个受保护的抽象方法返回A的类?
是的,我只是指出这是不可能使用特质,因为隐式构造函数的参数。 – 2011-02-09 00:51:38