Class CassandraTypeDeserializer
java.lang.Object
io.debezium.connector.cassandra.transforms.CassandraTypeDeserializer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final classstatic enumstatic enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map<Integer,TypeDeserializer> private Map<Class<?>,TypeDeserializer> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Objectstatic Objectdeserialize(com.datastax.oss.driver.api.core.type.DataType dataType, ByteBuffer bb) Deserialize from snapshot/datastax-sourced cassandra data.static Objectdeserialize(Object abstractType, ByteBuffer bb) Deserialize from cdc-log-sourced cassandra data.static Objectdeserialize(Object collectionType, List<ByteBuffer> bbList) Deserialize from cdc-log-sourced cassandra data.static CassandraTypeDeserializerstatic org.apache.kafka.connect.data.SchemaBuildergetSchemaBuilder(com.datastax.oss.driver.api.core.type.DataType dataType) static org.apache.kafka.connect.data.SchemaBuildergetSchemaBuilder(Object abstractType) Construct a kafka connect SchemaBuilder object from a Cassandra data typestatic TypeDeserializergetTypeDeserializer(com.datastax.oss.driver.api.core.type.DataType dataType) static TypeDeserializergetTypeDeserializer(Object abstractType) Get TypeDeserializer of AbstractTypestatic voidinit(List<AbstractTypeDeserializer> typeDeserializers, CassandraTypeDeserializer.DecimalMode decimalMode, CassandraTypeDeserializer.VarIntMode varIntMode, Function<Object, Object> baseType) private voidinitInternal(List<AbstractTypeDeserializer> typeDeserializers, CassandraTypeDeserializer.DecimalMode decimalMode, CassandraTypeDeserializer.VarIntMode varIntMode, Function<Object, Object> baseType) static voidsetDecimalMode(CassandraTypeDeserializer.DecimalMode decimalMode) Set deserialization mode for decimal columnsstatic voidsetVarIntMode(CassandraTypeDeserializer.VarIntMode varIntMode) Set deserialization mode for varint columns
-
Field Details
-
TYPE_MAP
-
DATATYPE_MAP
-
baseType
-
-
Constructor Details
-
CassandraTypeDeserializer
private CassandraTypeDeserializer()
-
-
Method Details
-
getInstance
-
init
public static void init(List<AbstractTypeDeserializer> typeDeserializers, CassandraTypeDeserializer.DecimalMode decimalMode, CassandraTypeDeserializer.VarIntMode varIntMode, Function<Object, Object> baseType) -
initInternal
private void initInternal(List<AbstractTypeDeserializer> typeDeserializers, CassandraTypeDeserializer.DecimalMode decimalMode, CassandraTypeDeserializer.VarIntMode varIntMode, Function<Object, Object> baseType) -
baseType
-
deserialize
public static Object deserialize(com.datastax.oss.driver.api.core.type.DataType dataType, ByteBuffer bb) Deserialize from snapshot/datastax-sourced cassandra data.- Parameters:
dataType- theDataTypeof the objectbb- the bytes of the column to deserialize- Returns:
- the deserialized object.
-
deserialize
Deserialize from cdc-log-sourced cassandra data.- Parameters:
abstractType- the AbstractType of the non-collection columnbb- the bytes of the non-collection column to deserialize- Returns:
- the deserialized object.
-
deserialize
Deserialize from cdc-log-sourced cassandra data.- Parameters:
collectionType- theCollectionTypeof the collection columnbbList- the ComplexColumnData of the collection column to deserialize- Returns:
- the deserialized object.
-
getSchemaBuilder
Construct a kafka connect SchemaBuilder object from a Cassandra data type- Parameters:
abstractType- implementation of Cassandra's AbstractType- Returns:
- the kafka connect SchemaBuilder object
-
getSchemaBuilder
public static org.apache.kafka.connect.data.SchemaBuilder getSchemaBuilder(com.datastax.oss.driver.api.core.type.DataType dataType) -
getTypeDeserializer
Get TypeDeserializer of AbstractType- Parameters:
abstractType- the AbstractType of a column in cassandra- Returns:
- the TypeDeserializer of the AbstractType.
-
getTypeDeserializer
public static TypeDeserializer getTypeDeserializer(com.datastax.oss.driver.api.core.type.DataType dataType) -
setDecimalMode
Set deserialization mode for decimal columns- Parameters:
decimalMode- theCassandraTypeDeserializer.DecimalModeof decimal values
-
setVarIntMode
Set deserialization mode for varint columns- Parameters:
varIntMode- theCassandraTypeDeserializer.VarIntModeof varint values
-