def converterToCassandra()

in driver/src/main/scala/com/datastax/spark/connector/types/ColumnType.scala [169:188]


  def converterToCassandra(dataType: DataType)
      : TypeConverter[_ <: AnyRef] = {

    val converter: TypeConverter[_] =
      dataType match {
        case list: DriverListType => TypeConverter.javaArrayListConverter(converterToCassandra(list.getElementType))
        case vec: DriverVectorType => TypeConverter.cqlVectorConverter(vec.getDimensions)(converterToCassandra(vec.getElementType).asInstanceOf[TypeConverter[Number]])
        case set: DriverSetType => TypeConverter.javaHashSetConverter(converterToCassandra(set.getElementType))
        case map: DriverMapType => TypeConverter.javaHashMapConverter(converterToCassandra(map.getKeyType), converterToCassandra(map.getValueType))
        case udt: DriverUserDefinedType => new UserDefinedType.DriverUDTValueConverter(udt)
        case tuple: DriverTupleType => TupleType.driverTupleValueConverter(dataType)
        case _ => fromDriverType(dataType).converterToCassandra
      }

    // make sure it is always wrapped in OptionToNullConverter, but don't wrap twice:
    converter match {
      case c: TypeConverter.OptionToNullConverter => c
      case _ => new TypeConverter.OptionToNullConverter(converter)
    }
  }