2013-09-11 5 views
0

Я написал этот конвертер строк.Как написать/использовать anorm Extractor like rowToStringSequence Column [Seq [String]]

implicit def rowToStringSequence: Column[Seq[String]] = Column.nonNull { (value, meta) => 
    val MetaDataItem(qualified, nullable, clazz) = meta 
    value match { 
     case data: Seq[String] => Right(data) 
     case _ => Left(TypeDoesNotMatch(
     "Cannot convert " + value + ":" + value.asInstanceOf[AnyRef].getClass + 
     " to String Array for column " + qualified)) 
    } 
    } 

К сожалению, я не знаю, как использовать его в классе case. Например:

case class profile (eyeColor: Seq[String]) 

Профиль компаньон объекта:

object Profile{ 
    val profile= { 
     get[Seq[String]]("eyeColor") map { 
     case 
     eyeColor => Profile(eyeColor) 
     } 
    } 
} 

сообщение об ошибке компиляции: не может найти неявное значение для извлечения параметров: anorm.Column [Seq [String]]

Мне нужен намек.

спасибо !!

ответ

1

anorm.Column предназначен для преобразования данных JDBC в желаемый тип Scala. Итак, первый вопрос - какой тип JDBC вы хотите преобразовать как Seq[String] (не являясь самим типом JDBC).