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;
|
}
|
}
|
}
|