public FieldContext FieldFromLean(TripField field) { var fc = new FieldContext( field.Name, (short)field.Identifier, //typeConverter.ConvertToString(field.Type), MangleJavaMethodName(field.Name), SetterName(field), GetterName(field), field.Required == Required.REQUIRED, typeConverter.ConvertToGenType(field.Type) ); return fc; }
private void BuildSerializeMapElement(StringBuilder sb, GenType genType, string iter, string map) { var kField = new FieldContext(iter, genType.KeyType); BuildSerializeField(sb, kField, "", true); var vField = new FieldContext(map + ".get(" + iter + ")", genType.ValueType); BuildSerializeField(sb, vField, "", true); }
private void BuildSerializeListElement(StringBuilder sb, GenType genType, string iter) { var eField = new FieldContext(iter, genType.ElementType); BuildSerializeField(sb, eField, "", true); }
private string FieldNameFromField(FieldContext field) { if (field.JavaName != null) return field.JavaName; return field.Name; }
private void BuildSerializeField(StringBuilder sb, FieldContext field, string prefix = "", bool isElement = false, bool isFieldLess = false) { var genType = field.GenType; var name = prefix + (isFieldLess ? "" : FieldNameFromField(field)); if (genType.IsStruct) { BuildSerializeStruct(sb, name); } else if (genType.IsContainer) { BuildSerializeContainer(sb, name, genType); } else if (genType.IsBaseType || genType.IsEnum) { sb.Indent(level).Append("oprot."); if (genType.IsBaseType) { switch (genType.GType) { case GType.Binary: sb.Append("writeBinary(").Append(name).Append(");"); break; case GType.String: sb.Append("writeString(").Append(name).Append(");"); break; case GType.Bool: sb.Append("writeBool(").Append(name).Append(".booleanValue());"); break; case GType.Byte: sb.Append("writeByte(").Append(name).Append(".byteValue());"); break; case GType.I16: sb.Append("writeI16(").Append(name).Append(".shortValue());"); break; case GType.I32: sb.Append("writeI32(").Append(name).Append(".intValue());"); ; break; case GType.I64: sb.Append("writeI64(").Append(name).Append(".longValue());"); break; case GType.Double: sb.Append("writeDouble(").Append(name).Append(".doubleValue());"); ; break; default: throw new ArgumentException(string.Format("DO NOT KNOW HOW TO SERIALIZE BASE TYPE {0}", genType.GType)); } } else if (genType.IsEnum) { sb.Append("writeI32(").Append(name).Append(".getValue());"); } sb.AppendLine(); } else { throw new ArgumentException(string.Format("DO NOT KNOW HOW TO SERIALIZE {0} TYPE {1}", field.Name, genType.JavaTypeName)); } }
private string DeclareField(FieldContext field, bool init = false, string prefix = "") { string result = field.GenType.JavaTypeName + " " + prefix + field.Name; if (init) { result += " = null"; } return result + ";"; }
private void BuildDeserializeListElement(StringBuilder sb, GenType listType, string prefix = "") { string elem = Tmp("_elem"); var felem = new FieldContext(elem, listType.ElementType); sb.Indent(level).Append(DeclareField(felem, true)).AppendLine(); BuildDeserializeField(sb, felem); sb.Indent(level).Append(prefix).Append(".add(").Append(elem).Append(");").AppendLine(); }
private void BuildDeserializeMapElement(StringBuilder sb, GenType mapType, string prefix = "") { string key = Tmp("_key"); string val = Tmp("_val"); var fkey = new FieldContext(key, mapType.KeyType); var fval = new FieldContext(val, mapType.ValueType); sb.Indent(level).Append(DeclareField(fkey)).AppendLine(); sb.Indent(level).Append(DeclareField(fval)).AppendLine(); BuildDeserializeField(sb, fkey); BuildDeserializeField(sb, fval); sb.Indent(level).Append(prefix).Append(".put(").Append(key).Append(", ").Append(val).Append(");").AppendLine(); }
public void AddField(FieldContext field) { this.Fields.Add(field); }
private void BuildDeserializeField(StringBuilder sb, FieldContext field, string prefix = "", bool isFieldless = false) { var genType = field.GenType; string name = prefix + (isFieldless ? "" : FieldNameFromField(field)); if (genType.IsStruct) { BuildDeserializeStruct(sb, genType.JavaTypeName, name); } else if (genType.IsContainer) { BuildDeserializeContainer(sb, genType, name); } else if (genType.IsBaseType || genType.IsEnum) { sb.Indent(level).Append(name).Append(" = "); if (genType.IsEnum) { sb.Append(genType.JavaTypeName).Append(".findByValue("); } sb.Append("iprot."); if (genType.IsBaseType) { switch (genType.GType) { case GType.Binary: sb.Append("readBinary();"); break; case GType.String: sb.Append("readString();"); break; case GType.Bool: sb.Append("readBool();"); break; case GType.Byte: sb.Append("readByte();"); break; case GType.I16: sb.Append("readI16();"); break; case GType.I32: sb.Append("readI32();"); break; case GType.I64: sb.Append("readI64();"); break; case GType.Double: sb.Append("readDouble();"); break; default: throw new ArgumentException(string.Format("DO NOT KNOW HOW TO DESERIALIZE BASE TYPE {0}", genType.GType)); } } else if (genType.IsEnum) { sb.Append("readI32());"); } sb.AppendLine(); } else { throw new ArgumentException(string.Format("DO NOT KNOW HOW TO DESERIALIZE FIELD {0} TYPE {1}", field.Name, genType.JavaTypeName)); } }