Base class for all schema types. More...
Public Types | |
enum | Type { Null, Boolean, Int, Long, Float, Double, Bytes, String, Record, Enumeration, Array, Map, Union, Fixed, Error } |
Enum for schema types. More... | |
Public Member Functions | |
override string | ToString () |
Returns the canonical JSON representation of this schema. | |
string | GetProperty (string key) |
Returns the schema's custom property value given the property name. | |
override int | GetHashCode () |
Hash code function. | |
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. | |
Static Public Member Functions | |
static Schema | Parse (string json) |
Parses a given JSON string to create a new schema object. | |
Protected Member Functions | |
Schema (Type type, PropertyMap props) | |
Constructor for schema class. | |
virtual internal void | WriteJsonFields (JsonTextWriter writer, SchemaNames names, string encspace) |
Default implementation for writing schema properties in JSON format. | |
virtual internal void | WriteJson (JsonTextWriter writer, SchemaNames names, string encspace) |
Writes schema object in JSON format. | |
Static Protected Member Functions | |
static string | getTypeString (Type type) |
Returns symbol name for the given schema type. | |
static bool | areEqual (object o1, object o2) |
Compares two objects, null is equal to null. | |
static int | getHashCode (object obj) |
Hash code helper function. | |
Properties | |
Type | Tag [get, set] |
Schema type property. | |
abstract string | Name [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. |
Base class for all schema types.
enum Avro::Schema::Type |
Enum for schema types.
Avro::Schema::Schema | ( | Type | type, | |
PropertyMap | props | |||
) | [inline, protected] |
Constructor for schema class.
type |
static bool Avro::Schema::areEqual | ( | object | o1, | |
object | o2 | |||
) | [inline, static, protected] |
Compares two objects, null is equal to null.
o1 | first object | |
o2 | second object |
virtual bool Avro::Schema::CanRead | ( | Schema | writerSchema | ) | [inline, virtual] |
Returns true if and only if data written using writerSchema can be read using the current schema according to the Avro resolution rules.
writerSchema | The writer's schema to match against. |
Reimplemented in Avro::ArraySchema, Avro::EnumSchema, Avro::FixedSchema, Avro::MapSchema, Avro::PrimitiveSchema, Avro::RecordSchema, and Avro::UnionSchema.
override int Avro::Schema::GetHashCode | ( | ) | [inline] |
Hash code function.
Reimplemented in Avro::ArraySchema, Avro::EnumSchema, Avro::FixedSchema, Avro::MapSchema, Avro::PrimitiveSchema, Avro::RecordSchema, and Avro::UnionSchema.
static int Avro::Schema::getHashCode | ( | object | obj | ) | [inline, static, protected] |
Hash code helper function.
obj |
string Avro::Schema::GetProperty | ( | string | key | ) | [inline] |
Returns the schema's custom property value given the property name.
key | custom property name |
static string Avro::Schema::getTypeString | ( | Type | type | ) | [inline, static, protected] |
Returns symbol name for the given schema type.
type | schema type |
static Schema Avro::Schema::Parse | ( | string | json | ) | [inline, static] |
Parses a given JSON string to create a new schema object.
json | JSON string |
override string Avro::Schema::ToString | ( | ) | [inline] |
Returns the canonical JSON representation of this schema.
virtual internal void Avro::Schema::WriteJson | ( | JsonTextWriter | writer, | |
SchemaNames | names, | |||
string | encspace | |||
) | [inline, protected, virtual] |
Writes schema object in JSON format.
writer | JSON writer | |
names | list of named schemas already written | |
encspace | enclosing namespace of the schema |
Reimplemented in Avro::PrimitiveSchema.
virtual internal void Avro::Schema::WriteJsonFields | ( | JsonTextWriter | writer, | |
SchemaNames | names, | |||
string | encspace | |||
) | [inline, protected, virtual] |
Default implementation for writing schema properties in JSON format.
writer | JSON writer | |
names | list of named schemas already written | |
encspace | enclosing namespace of the schema |
abstract string Avro::Schema::Name [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.
Reimplemented in Avro::NamedSchema, and Avro::UnnamedSchema.