Я разрабатываю веб-сервис REST в Scala, используя Jersey JAX-RS реализацию ссылки, и получаю странную ошибку.
Я пытаюсь создать объект ContentDisposition, используя ContentDisposition.ContentDispositionBuilder.
ContentDisposition.ContentDispositionBuilder
имеет два типа T расширяет ContentDisposition.ContentDispositionBuilder
и V расширяет ContentDisposition
. Метод тип
из ContentDisposition
возвращает экземпляр сборщика.
Код
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).build()
работает, однако
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).fileName("dummy").build()
приводит к ошибке компилятора
error: value build is not a member of ?0
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM).fileName("dummy").build()
^
(Обратите внимание, что тип T
необходимо поместить в "кавычки", так как это ключевое слово в Scala)
fileName
из ContentDispositionBuilder
возвращает экземпляр T
, так что на самом деле это должно сработать.
Я не понимаю. Есть идеи? Кстати, я использую Scala 2.9.0.1.
Обновление:
Это работает. Но почему мне нужно приводить здесь?
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM)
.fileName("dummy")
.asInstanceOf[ContentDisposition.ContentDispositionBuilder[_,_]]
.build()