AvroSettings

sealed abstract class AvroSettings[F[_]]

Describes how to create a KafkaAvroDeserializer and a KafkaAvroSerializer and which settings should be used. Settings are tailored for the Confluent Kafka Avro serializers and deserializers.

Use AvroSettings.apply to create an instance.

Companion:
object
class Object
trait Matchable
class Any

Value members

Abstract methods

Creates a new KafkaAvroDeserializer using the settings contained within this AvroSettings instance, and the specified isKey flag, denoting whether a record key or value is being deserialized.

Creates a new KafkaAvroDeserializer using the settings contained within this AvroSettings instance, and the specified isKey flag, denoting whether a record key or value is being deserialized.

Creates a new KafkaAvroSerializer using the settings contained within this AvroSettings instance, and the specified isKey flag, denoting whether a record key or value is being serialized.

Creates a new KafkaAvroSerializer using the settings contained within this AvroSettings instance, and the specified isKey flag, denoting whether a record key or value is being serialized.

def properties: Map[String, String]

Properties provided when creating a Confluent Kafka Avro serializer or deserializer. Functions in AvroSettings add properties here as necessary.

Properties provided when creating a Confluent Kafka Avro serializer or deserializer. Functions in AvroSettings add properties here as necessary.

def registerSchema[A](subject: String)(implicit codec: Codec[A]): F[Int]

Register a schema for a given Codec for some type A, or return the existing schema id if it already exists.

Register a schema for a given Codec for some type A, or return the existing schema id if it already exists.

Value parameters:
subject

The subject name

Returns:

The schema id

The SchemaRegistryClient to use for the serializers and deserializers created from this AvroSettings.

The SchemaRegistryClient to use for the serializers and deserializers created from this AvroSettings.

def withAutoRegisterSchemas(autoRegisterSchemas: Boolean): AvroSettings[F]

Creates a new AvroSettings instance with the specified setting for whether serializers should register schemas automatically or not.

Creates a new AvroSettings instance with the specified setting for whether serializers should register schemas automatically or not.

The default value is true.

def withCreateAvroDeserializer(createAvroDeserializerWith: (F[SchemaRegistryClient], Boolean, Map[String, String]) => F[(KafkaAvroDeserializer, SchemaRegistryClient)]): AvroSettings[F]

Creates a new AvroSettings instance with the specified function for creating KafkaAvroDeserializers from settings. The arguments are schemaRegistryClient, isKey, and properties.

Creates a new AvroSettings instance with the specified function for creating KafkaAvroDeserializers from settings. The arguments are schemaRegistryClient, isKey, and properties.

def withCreateAvroSerializer(createAvroSerializerWith: (F[SchemaRegistryClient], Boolean, Map[String, String]) => F[(KafkaAvroSerializer, SchemaRegistryClient)]): AvroSettings[F]

Creates a new AvroSettings instance with the specified function for creating KafkaAvroSerializers from settings. The arguments are schemaRegistryClient, isKey, and properties.

Creates a new AvroSettings instance with the specified function for creating KafkaAvroSerializers from settings. The arguments are schemaRegistryClient, isKey, and properties.

def withKeySubjectNameStrategy(keySubjectNameStrategy: String): AvroSettings[F]

Creates a new AvroSettings instance with the specified key subject name strategy. This is the class name of the strategy which should be used.

Creates a new AvroSettings instance with the specified key subject name strategy. This is the class name of the strategy which should be used.

The default value is io.confluent.kafka.serializers.subject.TopicNameStrategy.

def withProperties(properties: (String, String)*): AvroSettings[F]

Creates a new AvroSettings instance including properties with the specified keys and values.

Creates a new AvroSettings instance including properties with the specified keys and values.

def withProperties(properties: Map[String, String]): AvroSettings[F]

Creates a new AvroSettings instance including properties with the specified keys and values.

Creates a new AvroSettings instance including properties with the specified keys and values.

def withProperty(key: String, value: String): AvroSettings[F]

Creates a new AvroSettings instance including a property with the specified key and value.

Creates a new AvroSettings instance including a property with the specified key and value.

def withRegisterSchema(registerSchemaWith: (F[SchemaRegistryClient], String, Codec[_]) => F[Int]): AvroSettings[F]

Creates a new AvroSettings instance with the specified function for registering schemas from settings. The arguments are schemaRegistryClient, subject, and codec.

Creates a new AvroSettings instance with the specified function for registering schemas from settings. The arguments are schemaRegistryClient, subject, and codec.

def withValueSubjectNameStrategy(valueSubjectNameStrategy: String): AvroSettings[F]

Creates a new AvroSettings instance with the specified value subject name strategy. This is the class name of the strategy which should be used.

Creates a new AvroSettings instance with the specified value subject name strategy. This is the class name of the strategy which should be used.

The default value is io.confluent.kafka.serializers.subject.TopicNameStrategy.