Class MapTypeDeserializer

    • Constructor Detail

      • MapTypeDeserializer

        public MapTypeDeserializer()
    • Method Detail

      • getSchemaBuilder

        public org.apache.kafka.connect.data.SchemaBuilder getSchemaBuilder​(org.apache.cassandra.db.marshal.AbstractType<?> abstractType)
        Specified by:
        getSchemaBuilder in class TypeDeserializer
      • deserialize

        public Object deserialize​(org.apache.cassandra.db.marshal.MapType<?,​?> mapType,
                                  org.apache.cassandra.db.rows.ComplexColumnData ccd)
        Specified by:
        deserialize in class CollectionTypeDeserializer<org.apache.cassandra.db.marshal.MapType<?,​?>>
      • processKeyValueInDeserializedMap

        private Map<?,​?> processKeyValueInDeserializedMap​(org.apache.cassandra.db.marshal.AbstractType<?> abstractType,
                                                                Map<?,​?> deserializedMap)
        If elements in a deserialized map is LogicalType, convert each element to fit in Kafka Schema type
        Parameters:
        abstractType - the AbstractType of a column in Cassandra
        deserializedMap - Map deserialized from Cassandra
        Returns:
        A deserialized map from Cassandra with each element that fits in Kafka Schema type