Я делаю приложение, которое делает запрос в Solr с Scala. На самом деле, я получил 10 классов case, которые я привел после моих запросов. Чтобы создать универсальное приложение, я пытаюсь использовать тип параметра.Scala: Match of parameter Тип
Моя проблема: мне нужно включить свой параметр Paramter, и он не работает (из-за стирания).
Смотрите мои отблески & псевдокод .:
getItem[Apple](10)
=>
def getItem[T](id : Option[Int]) = {
... // Here I request Solr then i want to create my caseClass from Solr docs.
mapsolr[T].toUseCase(docs) // send solr docs to map
}
Вот мое отображение:
class mapSolr(docs){
def toUseCase[T] = {
// Here i want to be able to make a switch on T
typeOf[T] match {
case x if x =:= typeOf[CaseClass1] =>
blabla // (return List[CaseClass1]
case x if x =:= typeOf[CaseClass2] =>
blabla // (return List[CaseClass2]
}
}
Я получил сообщение об ошибке "Нет TypeTag для Т" , Я знаю его, потому что стираюсь, но я понятия не имею, как это сделать.
Я просто хочу, чтобы иметь возможность проверить мой тип параметра ...
Спасибо.
У меня есть Фелинг вы ищете для чего-то подобного: http://docs.scala-lang.org/overviews/reflection/typetags-manifests.html – Pavel
Да, я знаю, мне нужно использовать TypeTag. Вероятно: я понятия не имею, как его использовать и реализовать ... – GreGGus