package frame.variant;
|
|
import java.sql.Types;
|
|
|
public enum ValueType {
|
|
Void, Int, Long, Double, Decimal, Date, String, Boolean, Entity, EntitySet,
|
Float,List;
|
|
public static ValueType valueOfTypes(int value) {
|
if (Types.INTEGER == value) {
|
return Int;
|
}
|
if (Types.BIGINT == value) {
|
return Int;
|
}
|
else if (Types.BIGINT == value) {
|
return Long;
|
}
|
else if (Types.SMALLINT == value) {
|
return Int;
|
}
|
else if (Types.TINYINT == 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 ValueType 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 if ("entity".equals(value)) {
|
return Entity;
|
}
|
else if ("entityset".equals(value)) {
|
return EntitySet;
|
}
|
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 ValueType 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 Class<?> getJavaClass() {
|
if (Int.equals(this)) {
|
return Integer.class;
|
}
|
else if (Double.equals(this)) {
|
return java.lang.Double.class;
|
}
|
else if (Float.equals(this)) {
|
return java.lang.Float.class;
|
}
|
else if (Decimal.equals(this)) {
|
|
return java.math.BigDecimal.class;
|
}
|
else if (Date.equals(this)) {
|
return java.util.Date.class;
|
}
|
else if (List.equals(this)) {
|
return java.util.List.class;
|
}
|
else if (Boolean.equals(this)) {
|
return java.lang.Boolean.class;
|
}
|
else {
|
return java.lang.String.class;
|
}
|
}
|
|
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;
|
}
|
}
|
}
|