Я разрабатываю веб-сервис REST на Scala, используя эталонную реализацию JAX-RS Jersey, и у меня возникает странная ошибка.
Я пытаюсь создать ContentDisposition с помощью ContentDisposition.ContentDispositionBuilder.
ContentDisposition.ContentDispositionBuilder
имеет два типа T extends ContentDisposition.ContentDispositionBuilder
и V extends ContentDisposition
. Метод type
из 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()
^
(Обратите внимание, что type
нужно заключить в "кавычки", потому что это ключевое слово в Scala)
fileName
of ContentDispositionBuilder
возвращает экземпляр T
, так что это действительно должно работать.
Я этого не понимаю. Любая идея? Кстати, я использую Scala 2.9.0.1.
Обновление:
Это работает. Но зачем мне здесь кастинг?
val contentDisposition = ContentDisposition.`type`(MediaType.APPLICATION_OCTET_STREAM)
.fileName("dummy")
.asInstanceOf[ContentDisposition.ContentDispositionBuilder[_,_]]
.build()