Table of Contents

Namespace AvroSharp.Schemas

The schema model: AvroSchema and its subclasses, such as RecordSchema, UnionSchema and EnumSchema, and the logical types (AvroLogicalType).

The other namespaces take their schemas from here: AvroSharp.Generic, AvroSharp.Containers, AvroSharp.Messages, AvroSharp.Streams and AvroSharp.CodeGen.

Classes

ArraySchema

An array schema.

AvroCompatibilityCheck

One pair checked by CheckVersions(AvroSchema, IReadOnlyList<AvroSchema>, AvroCompatibilityLevel, AvroCompatibilityOptions?).

AvroCompatibilityIssue

One reason data written with one schema cannot be read with another, or a warning about how it is read.

AvroCompatibilityOptions

Options for AvroSchemaCompatibility.

AvroCompatibilityReport

The result of checking a new schema against earlier versions at a AvroCompatibilityLevel.

AvroCompatibilityResult

The result of Check(AvroSchema, AvroSchema, AvroCompatibilityOptions?).

AvroLogicalType

A logical type annotating a primitive or fixed schema. Parameterless logical types are singletons; decimal is represented by DecimalLogicalType.

AvroNames

Validation rules for Avro names, namespaces and enum symbols.

AvroSchema

An immutable Avro schema. Use Parse(string, AvroSchemaParseOptions?) to read schema JSON, or construct the concrete schema types directly.

AvroSchemaCompatibility

Checks whether data written with one schema can be read with another, and why not: every incompatibility, with where it is, and warnings about differences the specification allows that can change the values read.

AvroSchemaParseOptions

Options for AvroSchemaParser.

AvroSchemaParser

Parses Avro schema JSON. A parser remembers the named schemas it has parsed, so later schemas (for example other .avsc files) can refer to them by name.

DecimalLogicalType

The decimal logical type: an arbitrary-precision decimal stored as a scaled two's-complement integer.

EnumSchema

An enum schema: a named set of symbols.

FixedSchema

A fixed schema: a named sequence of exactly Size bytes.

MapSchema

A map schema: string keys to values of one schema.

NamedSchema

A named schema: a record, enum or fixed.

PrimitiveSchema

A primitive schema: null, boolean, int, long, float, double, bytes or string, optionally annotated with a logical type.

RecordField

A field of a RecordSchema.

RecordSchema

A record schema: a named sequence of fields.

SchemaFingerprint

Schema fingerprints computed over the Parsing Canonical Form, as described by the specification.

SchemaName

The full name of a named schema (record, enum or fixed): a simple name and an optional namespace.

UnionSchema

A union schema: a value matches exactly one of the branches.

Enums

AvroCompatibilityDirection

Which way a AvroCompatibilityCheck reads.

AvroCompatibilityKind

The kind of an AvroCompatibilityIssue: an incompatibility, or a warning (IsWarning) about a difference the specification allows that can change the values read. The six named as Java's SchemaIncompatibilityType values mean the same. Later versions may add kinds of either sort, so code should not rely on the values' order, and a new warning can make a check with WarningsAsErrors fail.

AvroCompatibilityLevel

A schema registry's compatibility levels, as Confluent Schema Registry defines them.

AvroCompatibilityVerdict

Whether data written with one schema can be read with another (AvroSchemaCompatibility): a fact about the schemas, which options don't change. The values are ordered from best to worst, and a report's verdict is the worst of its pairs'.

AvroLogicalTypeKind

The logical types defined by the Avro 1.12 specification.

AvroSchemaType

The Avro schema types.

FieldOrder

How a record field affects the sort order of records.