Avro C#

Classes | Public Member Functions | Static Public Member Functions | Properties | List of all members
Avro.RecordSchema Class Reference

Class for record schemas More...

Inheritance diagram for Avro.RecordSchema:

## Public Member Functions
bool | Contains (string fieldName)
| Returns true if and only if the record contains a field by the given name. More...
bool | TryGetField (string fieldName, out Field field)
| Gets a field with a specified name. More...
bool | TryGetFieldAlias (string fieldName, out Field field)
| Gets a field with a specified alias. More...
IEnumerator< Field > | GetEnumerator ()
| Returns an enumerator which enumerates over the fields of this record schema More...
override bool | Equals (object obj)
| Compares equality of two record schemas More...
override int | GetHashCode ()
| Hash code function More...
override bool | CanRead (Schema writerSchema)
| Checks if this schema can read data written by the given schema. Used for decoding data. More...
Public Member Functions inherited from Avro.Schema
override string | ToString ()
| Returns the canonical JSON representation of this schema. More...
string | GetProperty (string key)
| Returns the schema's custom property value given the property name More...
override int | GetHashCode ()
| Hash code function More...

## Static Public Member Functions
static RecordSchema | Create (string name, List< Field > fields, string space=null, IEnumerable< string > aliases=null, PropertyMap customProperties=null, string doc=null)
| Creates a new instance of RecordSchema More...
Static Public Member Functions inherited from Avro.Schema
static Schema | Parse (string json)
| Parses a given JSON string to create a new schema object More...
static string | GetTypeString (Type type)
| Returns symbol name for the given schema type More...
static Schema.? Type | ParseType (string type, bool removeQuotes=false)
| Parses the Schema.Type from a string. More...

## Properties
List< Field > | Fields`[get, set]`
| List of fields in the record More...
int | Count`[get]`
| Number of fields in the record More...
Field? | this[string name]`[get]`
| Returns the field with the given name. More...
Properties inherited from Avro.NamedSchema
SchemaName | SchemaName`[get]`
| Name of the schema, contains name, namespace and enclosing namespace More...
override string | Name`[get]`
| Name of the schema More...
string | Namespace`[get]`
| Namespace of the schema More...
override string | Fullname`[get]`
| Namespace.Name of the schema More...
string | Documentation`[get]`
| Documentation for the schema, if any. Null if there is no documentation. More...
Properties inherited from Avro.Schema
Type | Tag`[get]`
| Schema type property More...
abstract string | Name`[get]`
| If this is a record, enum or fixed, returns its name, otherwise the name the primitive type. More...
virtual string | Fullname`[get]`
| The name of this schema. If this is a named schema such as an enum, it returns the fully qualified name for the schema. For other schemas, it returns the type of the schema. More...

## Additional Inherited Members
Public Types inherited from Avro.Schema
enum | Type { Type.Null, Type.Boolean, Type.Int, Type.Long, Type.Float, Type.Double, Type.Bytes, Type.String, Type.Record, Type.Enumeration, Type.Array, Type.Map, Type.Union, Type.Fixed, Type.Error, Type.Logical }
| Enum for schema types More...
Protected Member Functions inherited from Avro.NamedSchema
| NamedSchema (Type type, SchemaName name, IList< SchemaName > aliases, PropertyMap props, SchemaNames names, string doc)
| Constructor for named schema class More...
bool | InAliases (SchemaName name)
| Determines whether the given schema name is one of this NamedSchema's aliases. More...
Protected Member Functions inherited from Avro.Schema
| Schema (Type type, PropertyMap props)
| Constructor for schema class More...
Static Protected Member Functions inherited from Avro.NamedSchema
static SchemaName | GetName (JToken jtok, string encspace)
| Parses the name and namespace from the given JSON schema object then creates SchemaName object including the given enclosing namespace More...
static IList< SchemaName > | GetAliases (JToken jtok, string space, string encspace)
| Parses the 'aliases' property from the given JSON token More...
Static Protected Member Functions inherited from Avro.Schema
static bool | areEqual (object o1, object o2)
| Compares two objects, null is equal to null More...
static int | getHashCode (object obj)
| Hash code helper function More...

## Detailed Description

Class for record schemas

## Member Function Documentation

## ◆ CanRead()

override bool Avro.RecordSchema.CanRead | ( | Schema | writerSchema | ) |
| inline virtual

Checks if this schema can read data written by the given schema. Used for decoding data.

Parameters

  writerSchema | writer schema

Returns
  true if this and writer schema are compatible based on the AVRO specification, false otherwise

Reimplemented from Avro.Schema.

## ◆ Contains()

bool Avro.RecordSchema.Contains | ( | string | fieldName | ) |
| inline

Returns true if and only if the record contains a field by the given name.

Parameters

  fieldName | The name of the field

Returns
  true if the field exists, false otherwise

## ◆ Create()

static RecordSchema Avro.RecordSchema.Create | ( | string | name,
|  | List< Field > | fields,
|  | string | space = `null`,
|  | IEnumerable< string > | aliases = `null`,
|  | PropertyMap | customProperties = `null`,
|  | string | doc = `null`
| ) |  |
| inline static

Creates a new instance of RecordSchema

Parameters

  name | name of the record schema
  fields | list of fields for the record
  space | type of record schema, either record or error
  aliases | list of aliases for the record name
  customProperties | custom properties on this schema
  doc | documentation for this named schema

## ◆ Equals()

override bool Avro.RecordSchema.Equals | ( | object | obj | ) |
| inline

Compares equality of two record schemas

Parameters

  obj | record schema to compare against this schema

Returns
  true if the two schemas are equal, false otherwise

## ◆ GetEnumerator()

IEnumerator<Field> Avro.RecordSchema.GetEnumerator | ( |  | ) |
| inline

Returns an enumerator which enumerates over the fields of this record schema

Returns
  Enumerator over the field in the order of their definition

## ◆ GetHashCode()

override int Avro.RecordSchema.GetHashCode | ( |  | ) |
| inline

Hash code function

Returns

## ◆ TryGetField()

bool Avro.RecordSchema.TryGetField | ( | string | fieldName,
|  | out Field | field
| ) |  |
| inline

Gets a field with a specified name.

Parameters

  fieldName | Name of the field to get.
  field | When this method returns true, contains the field with the specified name. When this method returns false, null.

Returns
  True if a field with the specified name exists; false otherwise.

## ◆ TryGetFieldAlias()

bool Avro.RecordSchema.TryGetFieldAlias | ( | string | fieldName,
|  | out Field | field
| ) |  |
| inline

Gets a field with a specified alias.

Parameters

  fieldName | Alias of the field to get.
  field | When this method returns true, contains the field with the specified alias. When this method returns false, null.

Returns
  True if a field with the specified alias exists; false otherwise.

## Property Documentation

## ◆ Count

int Avro.RecordSchema.Count
| get

Number of fields in the record

## ◆ Fields

List<Field> Avro.RecordSchema.Fields
| get set

List of fields in the record

## ◆ this[string name]

Field? Avro.RecordSchema.this[string name]
| get

Returns the field with the given name.

Parameters

  name | field name

Returns
  Field object

The documentation for this class was generated from the following file:

- src/apache/main/Schema/RecordSchema.cs