/// <summary> /// Is nullable type. /// </summary> /// <param name="jsonTypeEnum">The json type.</param> /// <returns>True if nullable; else false.</returns> public static bool IsNullable(JsonTypeEnum jsonTypeEnum) { switch (jsonTypeEnum) { case JsonTypeEnum.NullableBoolean: case JsonTypeEnum.NullableInteger: case JsonTypeEnum.NullableLong: case JsonTypeEnum.NullableFloat: case JsonTypeEnum.NullableDate: case JsonTypeEnum.NullableSomething: return(true); case JsonTypeEnum.Boolean: case JsonTypeEnum.Integer: case JsonTypeEnum.Long: case JsonTypeEnum.Float: case JsonTypeEnum.Date: case JsonTypeEnum.String: case JsonTypeEnum.Array: case JsonTypeEnum.Dictionary: case JsonTypeEnum.Object: default: return(false); } }
private bool IsNullable(JsonTypeEnum type) { return (type == JsonTypeEnum.NullableBoolean || type == JsonTypeEnum.NullableDate || type == JsonTypeEnum.NullableFloat || type == JsonTypeEnum.NullableInteger || type == JsonTypeEnum.NullableLong || type == JsonTypeEnum.NullableSomething); }
private bool IsNullable(JsonTypeEnum type) { return type == JsonTypeEnum.NullableBoolean || type == JsonTypeEnum.NullableDate || type == JsonTypeEnum.NullableFloat || type == JsonTypeEnum.NullableInteger || type == JsonTypeEnum.NullableLong || type == JsonTypeEnum.NullableSomething; }
/// <summary> /// Get the system type. /// </summary> /// <param name="jsonTypeEnum">The json type.</param> /// <returns>The system type.</returns> public static string GetSystemTypeString(JsonTypeEnum jsonTypeEnum) { switch (jsonTypeEnum) { case JsonTypeEnum.Boolean: case JsonTypeEnum.NullableBoolean: return(typeof(System.Boolean).ToString()); case JsonTypeEnum.Integer: case JsonTypeEnum.NullableInteger: return(typeof(System.Int32).ToString()); case JsonTypeEnum.Long: case JsonTypeEnum.NullableLong: return(typeof(System.Int64).ToString()); case JsonTypeEnum.Float: case JsonTypeEnum.NullableFloat: return(typeof(System.Double).ToString()); case JsonTypeEnum.Date: case JsonTypeEnum.NullableDate: return(typeof(System.DateTime).ToString()); case JsonTypeEnum.String: return(typeof(System.String).ToString()); case JsonTypeEnum.Array: return(typeof(System.Object[]).ToString()); case JsonTypeEnum.Dictionary: return(typeof(System.Collections.IDictionary).ToString()); case JsonTypeEnum.Object: case JsonTypeEnum.NullableSomething: default: return(typeof(System.Object).ToString()); } }
internal JsonType(IJsonClassGeneratorConfig generator, JsonTypeEnum type) : this(generator) { this.Type = type; }
private JsonTypeEnum GetCommonTypeEnum(JsonTypeEnum type1, JsonTypeEnum type2) { if (type1 == JsonTypeEnum.NonConstrained) { return(type2); } if (type2 == JsonTypeEnum.NonConstrained) { return(type1); } switch (type1) { case JsonTypeEnum.Boolean: if (IsNull(type2)) { return(JsonTypeEnum.NullableBoolean); } if (type2 == JsonTypeEnum.Boolean) { return(type1); } break; case JsonTypeEnum.NullableBoolean: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Boolean) { return(type1); } break; case JsonTypeEnum.Integer: if (IsNull(type2)) { return(JsonTypeEnum.NullableInteger); } if (type2 == JsonTypeEnum.Float) { return(JsonTypeEnum.Float); } if (type2 == JsonTypeEnum.Long) { return(JsonTypeEnum.Long); } if (type2 == JsonTypeEnum.Integer) { return(type1); } break; case JsonTypeEnum.NullableInteger: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Float) { return(JsonTypeEnum.NullableFloat); } if (type2 == JsonTypeEnum.Long) { return(JsonTypeEnum.NullableLong); } if (type2 == JsonTypeEnum.Integer) { return(type1); } break; case JsonTypeEnum.Float: if (IsNull(type2)) { return(JsonTypeEnum.NullableFloat); } if (type2 == JsonTypeEnum.Float) { return(type1); } if (type2 == JsonTypeEnum.Integer) { return(type1); } if (type2 == JsonTypeEnum.Long) { return(type1); } break; case JsonTypeEnum.NullableFloat: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Float) { return(type1); } if (type2 == JsonTypeEnum.Integer) { return(type1); } if (type2 == JsonTypeEnum.Long) { return(type1); } break; case JsonTypeEnum.Long: if (IsNull(type2)) { return(JsonTypeEnum.NullableLong); } if (type2 == JsonTypeEnum.Float) { return(JsonTypeEnum.Float); } if (type2 == JsonTypeEnum.Integer) { return(type1); } break; case JsonTypeEnum.NullableLong: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Float) { return(JsonTypeEnum.NullableFloat); } if (type2 == JsonTypeEnum.Integer) { return(type1); } if (type2 == JsonTypeEnum.Long) { return(type1); } break; case JsonTypeEnum.Date: if (IsNull(type2)) { return(JsonTypeEnum.NullableDate); } if (type2 == JsonTypeEnum.Date) { return(JsonTypeEnum.Date); } break; case JsonTypeEnum.NullableDate: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Date) { return(type1); } break; case JsonTypeEnum.NullableSomething: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.String) { return(JsonTypeEnum.String); } if (type2 == JsonTypeEnum.Integer) { return(JsonTypeEnum.NullableInteger); } if (type2 == JsonTypeEnum.Float) { return(JsonTypeEnum.NullableFloat); } if (type2 == JsonTypeEnum.Long) { return(JsonTypeEnum.NullableLong); } if (type2 == JsonTypeEnum.Boolean) { return(JsonTypeEnum.NullableBoolean); } if (type2 == JsonTypeEnum.Date) { return(JsonTypeEnum.NullableDate); } if (type2 == JsonTypeEnum.Array) { return(JsonTypeEnum.Array); } if (type2 == JsonTypeEnum.Object) { return(JsonTypeEnum.Object); } break; case JsonTypeEnum.Object: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Object) { return(type1); } if (type2 == JsonTypeEnum.Dictionary) { throw new ArgumentException(); } break; case JsonTypeEnum.Dictionary: throw new ArgumentException(); //if (IsNull(type2)) return type1; //if (type2 == JsonTypeEnum.Object) return type1; //if (type2 == JsonTypeEnum.Dictionary) return type1; // break; case JsonTypeEnum.Array: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.Array) { return(type1); } break; case JsonTypeEnum.String: if (IsNull(type2)) { return(type1); } if (type2 == JsonTypeEnum.String) { return(type1); } break; } return(JsonTypeEnum.Anything); }
private static bool IsNull(JsonTypeEnum type) { return(type == JsonTypeEnum.NullableSomething); }
private JsonTypeEnum GetCommonTypeEnum(JsonTypeEnum type1, JsonTypeEnum type2) { if (type1 == JsonTypeEnum.NonConstrained) return type2; if (type2 == JsonTypeEnum.NonConstrained) return type1; switch (type1) { case JsonTypeEnum.Boolean: if (IsNull(type2)) return JsonTypeEnum.NullableBoolean; if (type2 == JsonTypeEnum.Boolean) return type1; break; case JsonTypeEnum.NullableBoolean: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Boolean) return type1; break; case JsonTypeEnum.Integer: if (IsNull(type2)) return JsonTypeEnum.NullableInteger; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.Float; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.Long; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.NullableInteger: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.Float: if (IsNull(type2)) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Float) return type1; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.NullableFloat: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return type1; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.Long: if (IsNull(type2)) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.Float; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.NullableLong: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.Date: if (IsNull(type2)) return JsonTypeEnum.NullableDate; if (type2 == JsonTypeEnum.Date) return JsonTypeEnum.Date; break; case JsonTypeEnum.NullableDate: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Date) return type1; break; case JsonTypeEnum.NullableSomething: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.String) return JsonTypeEnum.String; if (type2 == JsonTypeEnum.Integer) return JsonTypeEnum.NullableInteger; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Boolean) return JsonTypeEnum.NullableBoolean; if (type2 == JsonTypeEnum.Date) return JsonTypeEnum.NullableDate; if (type2 == JsonTypeEnum.Array) return JsonTypeEnum.Array; if (type2 == JsonTypeEnum.Object) return JsonTypeEnum.Object; break; case JsonTypeEnum.Object: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Object) return type1; if (type2 == JsonTypeEnum.Dictionary) throw new ArgumentException(); break; case JsonTypeEnum.Dictionary: throw new ArgumentException(); //if (IsNull(type2)) return type1; //if (type2 == JsonTypeEnum.Object) return type1; //if (type2 == JsonTypeEnum.Dictionary) return type1; // break; case JsonTypeEnum.Array: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Array) return type1; break; case JsonTypeEnum.String: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.String) return type1; break; } return JsonTypeEnum.Anything; }
private static bool IsNull(JsonTypeEnum type) { return type == JsonTypeEnum.NullableSomething; }
internal ClassInfo(IGeneratorConfig generator, JsonTypeEnum type) : this(generator) { this.Type = type; }
private JsonTypeEnum GetCommonTypeEnum(JsonTypeEnum type1, JsonType type2json) { if (type2json == null) return type1; var type2 = type2json.Type; if (type1 == JsonTypeEnum.NonConstrained) return type2; if (type2 == JsonTypeEnum.NonConstrained) return type1; switch (type1) { case JsonTypeEnum.Boolean: if (IsNull(type2)) return JsonTypeEnum.NullableBoolean; if (type2 == JsonTypeEnum.Boolean) return type1; break; case JsonTypeEnum.NullableBoolean: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Boolean) return type1; break; case JsonTypeEnum.Integer: if (IsNull(type2)) return JsonTypeEnum.NullableInteger; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.Float; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.Long; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.NullableInteger: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.Float: if (IsNull(type2)) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Float) return type1; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.NullableFloat: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return type1; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.Long: if (IsNull(type2)) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.Float; if (type2 == JsonTypeEnum.Integer) return type1; break; case JsonTypeEnum.NullableLong: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Integer) return type1; if (type2 == JsonTypeEnum.Long) return type1; break; case JsonTypeEnum.Date: if (IsNull(type2)) return JsonTypeEnum.NullableDate; if (type2 == JsonTypeEnum.Date) return JsonTypeEnum.Date; break; case JsonTypeEnum.NullableDate: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Date) return type1; break; case JsonTypeEnum.NullableSomething: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.String) return JsonTypeEnum.String; if (type2 == JsonTypeEnum.Integer) return JsonTypeEnum.NullableInteger; if (type2 == JsonTypeEnum.Float) return JsonTypeEnum.NullableFloat; if (type2 == JsonTypeEnum.Long) return JsonTypeEnum.NullableLong; if (type2 == JsonTypeEnum.Boolean) return JsonTypeEnum.NullableBoolean; if (type2 == JsonTypeEnum.Date) return JsonTypeEnum.NullableDate; if (type2 == JsonTypeEnum.Array) return JsonTypeEnum.Array; if (type2 == JsonTypeEnum.Object) return JsonTypeEnum.Object; break; case JsonTypeEnum.Object: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Object) return type1; if (type2 == JsonTypeEnum.Dictionary) throw new ArgumentException(); break; case JsonTypeEnum.Dictionary: throw new ArgumentException(); //if (IsNull(type2)) return type1; //if (type2 == JsonTypeEnum.Object) return type1; //if (type2 == JsonTypeEnum.Dictionary) return type1; // break; case JsonTypeEnum.Array: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.Array) return type1; break; case JsonTypeEnum.String: if (IsNull(type2)) return type1; if (type2 == JsonTypeEnum.String) return type1; break; } return JsonTypeEnum.Anything; }