public static Converter getConverter()

in cassandra-analytics-core/src/main/java/org/apache/cassandra/spark/bulkwriter/SqlToCqlTypeConverter.java [114:185]


    public static Converter<?> getConverter(CqlField.CqlType cqlType)
    {
        String cqlName = cqlType.name().toLowerCase();
        switch (cqlName)
        {
            case CUSTOM:
                return determineCustomConvert((CqlField.CqlCustom) cqlType);
            case ASCII:
                return NO_OP_CONVERTER;
            case BIGINT:
                return LONG_CONVERTER;
            case BLOB:
                return BYTES_CONVERTER;
            case BOOLEAN:
                return NO_OP_CONVERTER;
            case COUNTER:
                return NO_OP_CONVERTER;
            case DECIMAL:
                return BIG_DECIMAL_CONVERTER;
            case DOUBLE:
                return NO_OP_CONVERTER;
            case DURATION:
                return DURATION_CONVERTER;
            case FLOAT:
                return NO_OP_CONVERTER;
            case FROZEN:
                assert cqlType instanceof CqlField.CqlFrozen;
                CqlField.CqlFrozen frozen = (CqlField.CqlFrozen) cqlType;
                return getConverter(frozen.inner());
            case INT:
                return INTEGER_CONVERTER;
            case TEXT:
                return NO_OP_CONVERTER;
            case TIMESTAMP:
                return TIMESTAMP_CONVERTER;
            case TIME:
                return TIME_CONVERTER;
            case UUID:
                return UUID_CONVERTER;
            case VARCHAR:
                return NO_OP_CONVERTER;
            case VARINT:
                return BIG_INTEGER_CONVERTER;
            case TIMEUUID:
                return TIME_UUID_CONVERTER;
            case INET:
                return INET_ADDRESS_CONVERTER;
            case DATE:
                return DATE_CONVERTER;
            case SMALLINT:
                return NO_OP_CONVERTER;
            case TINYINT:
                return NO_OP_CONVERTER;
            case LIST:
                return new ListConverter<>((CqlField.CqlCollection) cqlType);
            case MAP:
                assert cqlType instanceof CqlField.CqlMap;
                return new MapConverter<>((CqlField.CqlMap) cqlType);
            case SET:
                return new SetConverter<>((CqlField.CqlCollection) cqlType);
            case TUPLE:
                return NO_OP_CONVERTER;
            default:
                if (cqlType.internalType() == CqlField.CqlType.InternalType.Udt)
                {
                    assert cqlType instanceof CqlField.CqlUdt;
                    return new UdtConverter((CqlField.CqlUdt) cqlType);
                }
                LOGGER.warn("Unable to match type={}. Defaulting to NoOp Converter", cqlName);
                return NO_OP_CONVERTER;
        }
    }