Avro.Protocol.Parse C# (CSharp) Method

Parse() private static method

private static Parse ( JToken j ) : Protocol
j JToken
return Protocol
        private static Protocol Parse(JToken j)
        {
            string protocol = JsonHelper.GetRequiredString(j, "protocol");
            string snamespace = JsonHelper.GetRequiredString(j, "namespace");
            string doc = JsonHelper.GetOptionalString(j, "doc");

            Names names = new Names();

            JToken jtypes = j["types"];
            List<Schema> types = new List<Schema>();
            if (jtypes is JArray)
            {
                foreach (JToken jtype in jtypes)
                {
                    Schema schema = Schema.ParseJson(jtype, names);
                    types.Add(schema);
                }
            }


            JToken jmessages = j["messages"];
            List<Message> messages = new List<Message>();


            foreach (JProperty jmessage in jmessages)
            {
                Message message = Message.Parse(jmessage, names);
                messages.Add(message);
            }

            


            return new Protocol(protocol, snamespace, doc, types, messages);
        }

Same methods

Protocol::Parse ( string json ) : Protocol

Usage Example

Example #1
0
        static int GenProtocol(string infile, string outdir,
                               IEnumerable <KeyValuePair <string, string> > namespaceMapping)
        {
            try
            {
                string   text     = System.IO.File.ReadAllText(infile);
                Protocol protocol = Protocol.Parse(text);

                CodeGen codegen = new CodeGen();
                codegen.AddProtocol(protocol);

                foreach (var entry in namespaceMapping)
                {
                    codegen.NamespaceMapping[entry.Key] = entry.Value;
                }

                codegen.GenerateCode();
                codegen.WriteTypes(outdir);
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Exception occurred. " + ex.Message);
                return(1);
            }

            return(0);
        }
All Usage Examples Of Avro.Protocol::Parse