19 using System.Collections.Generic;
37 foreach (var writer
in writers)
39 writer.WriteField(record[writer.Field.Name], encoder);
73 encoder.WriteFixed(ba.
Value);
100 return obj is
byte[];
102 return obj is string;
111 return obj is Array && !(obj is
byte[]);
113 return obj is IDictionary<string, object>;
124 private class GenericArrayAccess : ArrayAccess
126 public void EnsureArrayObject(
object value )
128 if( value ==
null || !( value is Array ) )
throw TypeMismatch( value,
"array",
"Array" );
131 public long GetArrayLength(
object value )
133 return ( (Array) value ).Length;
136 public void WriteArrayValues(
object array,
WriteItem valueWriter,
Encoder encoder)
138 var arrayInstance = (Array) array;
139 for(
int i = 0; i < arrayInstance.Length; i++)
142 valueWriter(arrayInstance.GetValue(i), encoder);
override WriteItem ResolveEnum(EnumSchema es)
Serializes an enumeration.
The defualt class to hold values for enum schema in GenericReader and GenericWriter.
Class for enum type schemas
override void WriteRecordFields(object recordObj, RecordFieldWriter[] writers, Encoder encoder)
Base class for all schema types
override void EnsureRecordObject(RecordSchema recordSchema, object value)
Type
Enum for schema types
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
int Ordinal(string symbol)
Returns the position of the given symbol within this enum.
The default type used by GenericReader and GenericWriter for RecordSchema.
PreresolvingDatumWriter for writing data from GenericRecords or primitive types.
override void WriteField(object record, string fieldName, int fieldPos, WriteItem writer, Encoder encoder)
Extracts the field value from the given object.
override void WriteFixed(FixedSchema es, object value, Encoder encoder)
Serialized a fixed object.
A general purpose writer of data from avro streams.
Type Tag
Schema type property
static AvroException TypeMismatch(object obj, string schemaType, string type)
GenericDatumWriter(Schema schema)
delegate void WriteItem(Object value, Encoder encoder)
The default type used by GenericReader and GenericWriter for objects for FixedSchema
override bool UnionBranchMatches(Schema sc, object obj)