Avro C#
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Properties | List of all members
Avro.Schema Class Reference

Base class for all schema types More...

Inheritance diagram for Avro.Schema:
Avro.NamedSchema Avro.UnnamedSchema Avro.EnumSchema Avro.FixedSchema Avro.RecordSchema Avro.ArraySchema Avro.LogicalSchema Avro.MapSchema Avro.PrimitiveSchema Avro.UnionSchema

Public Types

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...
 

Public Member Functions

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...
 
virtual bool CanRead (Schema writerSchema)
 Returns true if and only if data written using writerSchema can be read using the current schema according to the Avro resolution rules. More...
 

Static Public Member Functions

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...
 

Protected Member Functions

 Schema (Type type, PropertyMap props)
 Constructor for schema class More...
 

Static Protected Member Functions

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...
 

Properties

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...
 

Detailed Description

Base class for all schema types

Member Enumeration Documentation

◆ Type

enum Avro.Schema.Type
strong

Enum for schema types

Enumerator
Null 

No value.

Boolean 

A binary value.

Int 

A 32-bit signed integer.

Long 

A 64-bit signed integer.

Float 

A single precision (32-bit) IEEE 754 floating-point number.

Double 

A double precision (64-bit) IEEE 754 floating-point number.

Bytes 

A sequence of 8-bit unsigned bytes.

String 

An unicode character sequence.

Record 

A logical collection of fields.

Enumeration 

An enumeration.

Array 

An array of values.

Map 

A map of values with string keys.

Union 

A union.

Fixed 

A fixed-length byte string.

Error 

A protocol error.

Logical 

A logical type.

Constructor & Destructor Documentation

◆ Schema()

Avro.Schema.Schema ( Type  type,
PropertyMap  props 
)
inlineprotected

Constructor for schema class

Parameters
type
propsdictionary that provides access to custom properties

Member Function Documentation

◆ areEqual()

static bool Avro.Schema.areEqual ( object  o1,
object  o2 
)
inlinestaticprotected

Compares two objects, null is equal to null

Parameters
o1first object
o2second object
Returns
true if two objects are equal, false otherwise

◆ CanRead()

virtual bool Avro.Schema.CanRead ( Schema  writerSchema)
inlinevirtual

Returns true if and only if data written using writerSchema can be read using the current schema according to the Avro resolution rules.

Parameters
writerSchemaThe writer's schema to match against.
Returns
True if and only if the current schema matches the writer's.

Reimplemented in Avro.RecordSchema, Avro.EnumSchema, Avro.UnionSchema, Avro.FixedSchema, Avro.PrimitiveSchema, Avro.MapSchema, Avro.ArraySchema, and Avro.LogicalSchema.

◆ GetHashCode()

override int Avro.Schema.GetHashCode ( )
inline

Hash code function

Returns

◆ getHashCode()

static int Avro.Schema.getHashCode ( object  obj)
inlinestaticprotected

Hash code helper function

Parameters
obj
Returns

◆ GetProperty()

string Avro.Schema.GetProperty ( string  key)
inline

Returns the schema's custom property value given the property name

Parameters
keycustom property name
Returns
custom property value

◆ GetTypeString()

static string Avro.Schema.GetTypeString ( Type  type)
inlinestatic

Returns symbol name for the given schema type

Parameters
typeschema type
Returns
symbol name

◆ Parse()

static Schema Avro.Schema.Parse ( string  json)
inlinestatic

Parses a given JSON string to create a new schema object

Parameters
jsonJSON string
Returns
new Schema object

◆ ParseType()

static Schema.? Type Avro.Schema.ParseType ( string  type,
bool  removeQuotes = false 
)
inlinestatic

Parses the Schema.Type from a string.

Parameters
typeThe type to convert.
removeQuotesif set to true [remove quotes].
Returns
A Schema.Type unless it could not parse then null

usage ParseType("string") returns Schema.Type.String

◆ ToString()

override string Avro.Schema.ToString ( )
inline

Returns the canonical JSON representation of this schema.

Returns
The canonical JSON representation of this schema.

Property Documentation

◆ Fullname

virtual string Avro.Schema.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.

◆ Name

abstract string Avro.Schema.Name
get

If this is a record, enum or fixed, returns its name, otherwise the name the primitive type.

◆ Tag

Type Avro.Schema.Tag
get

Schema type property


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