package frame.data; import java.sql.Types; public enum DataType { Void, Int, Double, Decimal, Date, String, Boolean, Entity, EntitySet; public static DataType valueOfTypes(int value) { if (Types.BIGINT == value) { return Int; } else if (Types.SMALLINT == value) { return Int; } else if (Types.TINYINT == value) { return Int; } else if (Types.INTEGER == value) { return Int; } else if (Types.DECIMAL == value) { return Decimal; } else if (Types.NUMERIC == value) { return Decimal; } else if (Types.DOUBLE == value) { return Double; } else if (Types.FLOAT == value) { return Double; } else if (Types.DATE == value) { return Date; } else if (Types.TIME == value) { return Date; } else if (Types.TIMESTAMP == value) { return Date; } else if (Types.BOOLEAN == value) { return Boolean; } else if (Types.BIT == value) { return Boolean; } else { return String; } } public static DataType valueOfString(String value) { if (value == null) { return String; } value = value.toLowerCase(); if ("String".equals(value)) { return String; } else if ("char".equals(value)) { return String; } else if ("varchar".equals(value)) { return String; } else if ("vchar".equals(value)) { return String; } else if ("text".equals(value)) { return String; } else if ("int".equals(value)) { return Int; } else if ("tinyint".equals(value)) { return Int; } else if ("smallint".equals(value)) { return Int; } else if ("bigint".equals(value)) { return Int; } else if ("long".equals(value)) { return Int; } else if ("number".equals(value)) { return Double; } else if ("decimal".equals(value)) { return Double; } else if ("float".equals(value)) { return Double; } else if ("double".equals(value)) { return Double; } else if ("date".equals(value)) { return Date; } else if ("time".equals(value)) { return Date; } else if ("datetime".equals(value)) { return Date; } else if ("boolean".equals(value)) { return Boolean; } else { return String; } } public String toJavaScriptType() { int no = ordinal(); if (no == 0) { return "String"; } else if (no == 1) { return "integer"; } else if (no == 2) { return "double"; } else if (no == 3) { return "date"; } else if (no == 4) { return "boolean"; } return "String"; } public static DataType valueOfSAPTypes(String type) { if (type == null) { return String; } type = type.trim().toLowerCase(); if ("c".equalsIgnoreCase(type)) { return String; } else if ("n".equalsIgnoreCase(type)) { return String; } else if ("t".equalsIgnoreCase(type)) { return String; } else if ("d".equalsIgnoreCase(type)) { return String; } else if ("i".equalsIgnoreCase(type)) { return Int; } else if ("f".equalsIgnoreCase(type)) { return Double; } else if ("p".equalsIgnoreCase(type)) { return Double; } else if ("x".equalsIgnoreCase(type)) { return String; } return String; } public int toSQLTypes() { if (Int == this) { return Types.INTEGER; } else if (Double == this) { return Types.NUMERIC; } else if (Date == this) { return Types.DATE; } else if (Boolean == this) { return Types.BIT; } else { return Types.VARCHAR; } } }