Package io.confluent.connect.avro
Class AvroData
java.lang.Object
io.confluent.connect.avro.AvroData
Utilities for converting between our runtime data format and Avro, and (de)serializing that data.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.avro.Schemastatic final org.apache.avro.Schemastatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static StringdoScrubName(String name) static List<org.apache.kafka.connect.data.Field>fields(org.apache.kafka.connect.data.Schema schema) fromConnectData(org.apache.kafka.connect.data.Schema schema, Object value) Convert this object, in Connect data format, into an Avro object.protected ObjectfromConnectData(org.apache.kafka.connect.data.Schema schema, org.apache.avro.Schema avroSchema, Object value) org.apache.avro.SchemafromConnectSchema(org.apache.kafka.connect.data.Schema schema) org.apache.avro.SchemafromConnectSchema(org.apache.kafka.connect.data.Schema schema, io.confluent.connect.avro.AvroData.FromConnectContext fromConnectContext, boolean ignoreOptional) SchemaMap is a map of already resolved internal schemas, this avoids type re-declaration if a type is reused, this actually blows up if you don't do this and have a type used in multiple places.org.apache.avro.SchemafromConnectSchema(org.apache.kafka.connect.data.Schema schema, Map<org.apache.kafka.connect.data.Schema, org.apache.avro.Schema> schemaMap) org.apache.avro.SchemafromConnectSchemaWithCycle(org.apache.kafka.connect.data.Schema schema, io.confluent.connect.avro.AvroData.FromConnectContext fromConnectContext, boolean ignoreOptional) protected booleanstatic org.apache.kafka.connect.data.SchemakeySchema(org.apache.kafka.connect.data.Schema schema) static org.apache.kafka.connect.data.SchemanonOptional(org.apache.kafka.connect.data.Schema schema) org.apache.kafka.connect.data.SchemaAndValuetoConnectData(org.apache.avro.Schema avroSchema, Object value) Convert the given object, in Avro format, into a Connect data object.org.apache.kafka.connect.data.SchemaAndValuetoConnectData(org.apache.avro.Schema avroSchema, Object value, Integer version) Convert the given object, in Avro format, into a Connect data object.org.apache.kafka.connect.data.SchematoConnectSchema(org.apache.avro.Schema schema) static org.apache.kafka.connect.data.SchemavalueSchema(org.apache.kafka.connect.data.Schema schema)
-
Field Details
-
NAMESPACE
- See Also:
-
DEFAULT_SCHEMA_NAME
- See Also:
-
DEFAULT_SCHEMA_FULL_NAME
- See Also:
-
MAP_ENTRY_TYPE_NAME
- See Also:
-
KEY_FIELD
- See Also:
-
VALUE_FIELD
- See Also:
-
CONNECT_NAME_PROP
- See Also:
-
CONNECT_DOC_PROP
- See Also:
-
CONNECT_RECORD_DOC_PROP
- See Also:
-
CONNECT_ENUM_DOC_PROP
- See Also:
-
CONNECT_VERSION_PROP
- See Also:
-
CONNECT_DEFAULT_VALUE_PROP
- See Also:
-
CONNECT_PARAMETERS_PROP
- See Also:
-
CONNECT_INTERNAL_TYPE_NAME
- See Also:
-
AVRO_RECORD_DOC_PROP
- See Also:
-
AVRO_ENUM_DOC_PREFIX_PROP
- See Also:
-
AVRO_FIELD_DOC_PREFIX_PROP
- See Also:
-
AVRO_FIELD_DEFAULT_FLAG_PROP
- See Also:
-
AVRO_ENUM_DEFAULT_PREFIX_PROP
- See Also:
-
CONNECT_TYPE_PROP
- See Also:
-
CONNECT_TYPE_INT8
- See Also:
-
CONNECT_TYPE_INT16
- See Also:
-
AVRO_TYPE_UNION
- See Also:
-
AVRO_TYPE_ENUM
- See Also:
-
AVRO_TYPE_ANYTHING
- See Also:
-
GENERALIZED_TYPE_UNION
- See Also:
-
GENERALIZED_TYPE_ENUM
- See Also:
-
GENERALIZED_TYPE_UNION_PREFIX
- See Also:
-
GENERALIZED_TYPE_UNION_FIELD_PREFIX
- See Also:
-
ANYTHING_SCHEMA_MAP_ELEMENT
public static final org.apache.avro.Schema ANYTHING_SCHEMA_MAP_ELEMENT -
ANYTHING_SCHEMA
public static final org.apache.avro.Schema ANYTHING_SCHEMA
-
-
Constructor Details
-
AvroData
public AvroData(int cacheSize) -
AvroData
-
-
Method Details
-
fromConnectData
Convert this object, in Connect data format, into an Avro object. -
fromConnectData
-
fromConnectSchema
public org.apache.avro.Schema fromConnectSchema(org.apache.kafka.connect.data.Schema schema) -
fromConnectSchema
public org.apache.avro.Schema fromConnectSchema(org.apache.kafka.connect.data.Schema schema, Map<org.apache.kafka.connect.data.Schema, org.apache.avro.Schema> schemaMap) -
fromConnectSchema
public org.apache.avro.Schema fromConnectSchema(org.apache.kafka.connect.data.Schema schema, io.confluent.connect.avro.AvroData.FromConnectContext fromConnectContext, boolean ignoreOptional) SchemaMap is a map of already resolved internal schemas, this avoids type re-declaration if a type is reused, this actually blows up if you don't do this and have a type used in multiple places.Also it only holds reference the non-optional schemas as technically an optional is actually a union of null and the non-opitonal, which if used in multiple places some optional some non-optional will cause error as you redefine type.
This is different to the global schema cache which is used to hold/cache fully resolved schemas used to avoid re-resolving when presented with the same source schema.
-
doScrubName
-
fromConnectSchemaWithCycle
public org.apache.avro.Schema fromConnectSchemaWithCycle(org.apache.kafka.connect.data.Schema schema, io.confluent.connect.avro.AvroData.FromConnectContext fromConnectContext, boolean ignoreOptional) -
toConnectData
public org.apache.kafka.connect.data.SchemaAndValue toConnectData(org.apache.avro.Schema avroSchema, Object value) Convert the given object, in Avro format, into a Connect data object.- Parameters:
avroSchema- the Avro schemavalue- the value to convert into a Connect data object- Returns:
- the Connect schema and value
-
toConnectData
public org.apache.kafka.connect.data.SchemaAndValue toConnectData(org.apache.avro.Schema avroSchema, Object value, Integer version) Convert the given object, in Avro format, into a Connect data object.- Parameters:
avroSchema- the Avro schemavalue- the value to convert into a Connect data objectversion- the version to set on the Connect schema if the avroSchema does not have a property named "connect.version", may be null- Returns:
- the Connect schema and value
-
getForceOptionalDefault
protected boolean getForceOptionalDefault() -
toConnectSchema
public org.apache.kafka.connect.data.Schema toConnectSchema(org.apache.avro.Schema schema) -
nonOptional
public static org.apache.kafka.connect.data.Schema nonOptional(org.apache.kafka.connect.data.Schema schema) -
fields
public static List<org.apache.kafka.connect.data.Field> fields(org.apache.kafka.connect.data.Schema schema) -
keySchema
public static org.apache.kafka.connect.data.Schema keySchema(org.apache.kafka.connect.data.Schema schema) -
valueSchema
public static org.apache.kafka.connect.data.Schema valueSchema(org.apache.kafka.connect.data.Schema schema)
-