scala-csv-parser
scala-csv-parser copied to clipboard
Parser inside polymorphic methods.
Can I use Parser inside a polymorphic method like this?
def readCsv [A] (str: String) : Queue[A] = {
if (!RFile(str).exists) {
logger.info(s"File not exists: $str")
return Queue.empty[A]
}
val csv = readFileContent(str)
Parser.parse[A](csv) match {
case Left(failure: Failure) => {
logger.error(s"Syntax error: ${failure.message}")
Queue.empty[A]
}
case Right(list: Seq[A]) => list.to(Queue)
}
}
If I try to execute it providing A as some sealed case class, then I got error on compile time:
Couldn't find sh.srv.docsp.services.core.FileHelper.A constructor.
Error while trying to generate zamblauskas.csv.parser.ColumnReads[sh.srv.docsp.services.core.FileHelper.A].
Either fix the error or provide zamblauskas.csv.parser.ColumnReads[sh.srv.docsp.services.core.FileHelper.A].