Example #1
0
        /// <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;
 }
Example #4
0
        /// <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);
 }
Example #8
0
 internal JsonType(IJsonClassGeneratorConfig generator, JsonTypeEnum type)
     : this(generator)
 {
     this.Type = type;
 }
Example #9
0
        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;
        }
Example #10
0
 private static bool IsNull(JsonTypeEnum type)
 {
     return type == JsonTypeEnum.NullableSomething;
 }
Example #11
0
 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;

        }