in driver/src/main/scala/com/datastax/spark/connector/types/TypeConverter.scala [914:949]
implicit def cqlVectorConverter[T <: Number : TypeConverter](dimension: Int): CqlVectorConverter[T] =
new CqlVectorConverter[T](dimension)
implicit def javaSetConverter[T : TypeConverter]: JavaSetConverter[T] =
new JavaSetConverter[T]
implicit def javaHashSetConverter[T : TypeConverter]: JavaHashSetConverter[T] =
new JavaHashSetConverter[T]
implicit def javaMapConverter[K : TypeConverter, V : TypeConverter]: JavaMapConverter[K, V] =
new JavaMapConverter[K, V]
implicit def javaHashMapConverter[K : TypeConverter, V : TypeConverter]: JavaHashMapConverter[K, V] =
new JavaHashMapConverter[K, V]
/** Converts Scala Options to Java nullable references. Used when saving data to Cassandra. */
class OptionToNullConverter(nestedConverter: TypeConverter[_]) extends NullableTypeConverter[AnyRef] {
def targetTypeTag = implicitly[TypeTag[AnyRef]]
def cassandraOptionToAnyRef(cassandraOption: CassandraOption[_]) = {
cassandraOption match {
case CassandraOption.Value(x) => nestedConverter.convert(x).asInstanceOf[AnyRef]
case CassandraOption.Unset => Unset
case CassandraOption.Null => null
}
}
def convertPF = {
case x: CassandraOption[_] => cassandraOptionToAnyRef(x)
case Some(x) => nestedConverter.convert(x).asInstanceOf[AnyRef]
case None => null
case Unset => Unset
case x => nestedConverter.convert(x).asInstanceOf[AnyRef]
}
}