Я пытаюсь реализовать общий интерфейс Java в Scala. Я посмотрел на:
Как расширить интерфейс Java, содержащий универсальные методы в Scala?
И Scala: переопределение общих методов Java II
Но я так и не смог найти ответ. Вот подпись метода из сети Spring:
T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
throws IOException, HttpMessageNotReadableException;
Я попробовал следующее в scala:
@throws(classOf[IOException])
@throws(classOf[HttpMessageNotReadableException])
override def read[T](clazz : Class[_ <: T], inputMessage : HttpInputMessage) : T ={
}
Но я получаю сообщение о том, что этот метод ничего не переопределяет. Если я сотру тип, выполнив:
override def read(clazz : Class[_], inputMessage : HttpInputMessage) : AnyRef ={
Он помечает метод как перезаписанный. Мой вопрос: как я могу сохранить безопасность типов здесь и заставить его переопределить метод интерфейса?
Привет
EDIT
Пружинный интерфейс:
public interface HttpMessageConverter<T> {
T read(Class<? extends T> clazz,
HttpInputMessage inputMessage)
throws IOException,
HttpMessageNotReadableException
}