Kinetica C# API
Version 7.2.3.0
|
A General purpose writer for serializing objects into a Stream using Avro. More...
Public Member Functions | |
DefaultWriter (Schema schema) | |
Constructs a generic writer for the given schema. More... | |
void | Write< T > (T value, Encoder encoder) |
virtual void | Write (Schema schema, object value, Encoder encoder) |
Examines the schema and dispatches the actual work to one of the other methods of this class. More... | |
Protected Member Functions | |
virtual void | WriteNull (object value, Encoder encoder) |
Serializes a "null" More... | |
virtual void | Write< S > (object value, Schema.Type tag, Writer< S > writer) |
A generic method to serialize primitive Avro types. More... | |
virtual void | WriteRecord (RecordSchema schema, object value, Encoder encoder) |
Serialized a record using the given RecordSchema. More... | |
virtual void | EnsureRecordObject (RecordSchema s, object value) |
virtual object | GetField (object value, string fieldName, int fieldPos) |
Extracts the field value from the given object. More... | |
virtual void | WriteEnum (EnumSchema es, object value, Encoder encoder) |
Serializes an enumeration. More... | |
virtual void | WriteArray (ArraySchema schema, object value, Encoder encoder) |
Serialized an array. More... | |
virtual void | EnsureArrayObject (object value) |
Checks if the given object is an array. More... | |
virtual long | GetArrayLength (object value) |
Returns the length of an array. More... | |
virtual object | GetArrayElement (object value, long index) |
Returns the element at the given index from the given array object. More... | |
virtual void | WriteMap (MapSchema schema, object value, Encoder encoder) |
Serialized a map. More... | |
virtual void | EnsureMapObject (object value) |
Checks if the given object is a map. More... | |
virtual long | GetMapSize (object value) |
Returns the size of the map object. More... | |
virtual IEnumerable< KeyValuePair< string, object > > | GetMapValues (object value) |
Returns the contents of the given map object. More... | |
virtual void | WriteUnion (UnionSchema us, object value, Encoder encoder) |
Resolves the given value against the given UnionSchema and serializes the object against the resolved schema member. More... | |
virtual int | ResolveUnion (UnionSchema us, object obj) |
Finds the branch within the given UnionSchema that matches the given object. More... | |
virtual void | WriteFixed (FixedSchema es, object value, Encoder encoder) |
Serialized a fixed object. More... | |
AvroException | TypeMismatch (object obj, string schemaType, string type) |
virtual bool | Matches (Schema sc, object obj) |
Properties | |
Schema | Schema [get] |
A General purpose writer for serializing objects into a Stream using Avro.
This class implements a default way of serializing objects. But one can derive a class from this and override different methods to acheive results that are different from the default implementation.
Definition at line 63 of file GenericWriter.cs.
|
inline |
Constructs a generic writer for the given schema.
schema | The schema for the object to be serialized |
Definition at line 71 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Checks if the given object is an array.
If it is a valid array, this function returns normally. Otherwise, it throws an exception. The default implementation checks if the value is an array.
value |
Definition at line 252 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Checks if the given object is a map.
If it is a valid map, this function returns normally. Otherwise, it throws an exception. The default implementation checks if the value is an IDictionary<string, object>.
value |
Definition at line 311 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Definition at line 189 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Returns the element at the given index from the given array object.
The default implementation requires that the value is an object array and returns the element in that array. The defaul implementation gurantees that EnsureArrayObject() has been called on the value before this function is called.
value | The array object |
index | The index to look for |
Definition at line 279 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Returns the length of an array.
The default implementation requires the object to be an array of objects and returns its length. The defaul implementation gurantees that EnsureArrayObject() has been called on the value before this function is called.
value | The object whose array length is required |
Definition at line 265 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Extracts the field value from the given object.
In this default implementation, value should be of type GenericRecord.
value | The record value from which the field needs to be extracted |
fieldName | The name of the field in the record |
fieldPos | The position of field in the record |
Definition at line 205 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Returns the size of the map object.
The default implementation gurantees that EnsureMapObject has been successfully called with the given value. The default implementation requires the value to be an IDictionary<string, object> and returns the number of elements in it.
value | The map object whose size is desired |
Definition at line 323 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Returns the contents of the given map object.
The default implementation guarantees that EnsureMapObject has been called with the given value. The defualt implementation of this method requires that the value is an IDictionary<string, object> and returns its contents.
value | The map object whose size is desired |
Definition at line 335 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 405 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Finds the branch within the given UnionSchema that matches the given object.
The default implementation calls Matches() method in the order of branches within the UnionSchema. If nothing matches, throws an exception.
us | The UnionSchema to resolve against |
obj | The object that should be used in matching |
Definition at line 363 of file GenericWriter.cs.
|
inlineprotected |
Definition at line 389 of file GenericWriter.cs.
|
inlinevirtual |
Examines the schema and dispatches the actual work to one of the other methods of this class.
This allows the derived classes to override specific methods and get custom results.
schema | The schema to use for serializing |
value | The value to be serialized |
encoder | The encoder to use during serialization |
Definition at line 88 of file GenericWriter.cs.
|
inlineprotectedvirtual |
A generic method to serialize primitive Avro types.
S | Type of the C# type to be serialized |
value | The value to be serialized |
tag | The schema type tag |
writer | The writer which should be used to write the given type. |
Definition at line 158 of file GenericWriter.cs.
|
inline |
Definition at line 76 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serialized an array.
The default implementation calls EnsureArrayObject() to ascertain that the given value is an array. It then calls GetArrayLength() and GetArrayElement() to access the members of the array and then serialize them.
schema | The ArraySchema for serialization |
value | The value being serialized |
encoder | The encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 233 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serializes an enumeration.
The default implementation expectes the value to be string whose value is the name of the enumeration.
es | The EnumSchema for serialization |
value | Value to be written |
encoder | Encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 218 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serialized a fixed object.
The default implementation requires that the value is a GenericFixed object with an identical schema as es.
es | The schema for serialization |
value | The value to be serialized |
encoder | The encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 379 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serialized a map.
The default implementation first ensure that the value is indeed a map and then uses GetMapSize() and GetMapElements() to access the contents of the map.
schema | The MapSchema for serialization |
value | The value to be serialized |
encoder | The encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 291 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serializes a "null"
value | The object to be serialized using null schema |
encoder | The encoder to use while serialization |
Definition at line 146 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Serialized a record using the given RecordSchema.
It uses GetField method to extract the field value from the given object.
schema | The RecordSchema to use for serialization |
value | The value to be serialized |
encoder | The Encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 172 of file GenericWriter.cs.
|
inlineprotectedvirtual |
Resolves the given value against the given UnionSchema and serializes the object against the resolved schema member.
The default implementation of this method uses ResolveUnion to find the member schema within the UnionSchema.
us | The UnionSchema to resolve against |
value | The value to be serialized |
encoder | The encoder for serialization |
Reimplemented in Avro.Specific.SpecificDefaultWriter.
Definition at line 348 of file GenericWriter.cs.
|
get |
Definition at line 65 of file GenericWriter.cs.