package com.jqmobile.core.server.db.orm2; import java.util.UUID; public enum DefaultTypeRelation{ // <tr><td>UUID</td><td>binary(16)</td></tr> // * <tr><td>boolean</td><td>boolean</td></tr> // * <tr><td>byte</td><td>binary</td></tr> // * <tr><td>short</td><td>smallint</td></tr> // * <tr><td>int</td><td>int</td></tr> // * <tr><td>float</td><td>float</td></tr> // * <tr><td>double</td><td>decimal(17,5)</td></tr> // * <tr><td>String</td><td>nvarchar</td></tr> // * <tr><td>long</td><td>bigint(20)</td></tr> // * <tr><td>Date</td><td>datetime</td></tr> Boolean("boolean",false,boolean.class,Boolean.class), Int("int",false,int.class,Integer.class), Float("float",false,float.class,Float.class), Short("smallint",false,short.class,Short.class), Byte("binary",false,byte.class,Byte.class), Bytes("binary",true,DefaultTypeRelation.DefaultLength,byte[].class,Byte[].class), Double("decimal(17,5)",false,double.class,Double.class), Long("bigint(20)",false,long.class,Long.class), String("nvarchar",true,DefaultTypeRelation.DefaultLength,String.class), UUID("binary(16)",false,UUID.class); private final static int DefaultLength=100; private Class<?>[] javaClass; private String dbType; private boolean havLength; private int defaultLength; private DefaultTypeRelation(String dbType,boolean havLength,Class<?>...classes){ this.dbType=dbType; this.havLength = havLength; this.javaClass = classes; } private DefaultTypeRelation(String dbType,boolean havLength,int defaultLength,Class<?>...classes){ this.dbType=dbType; this.havLength = havLength; this.defaultLength = defaultLength; this.javaClass = classes; } public boolean isHavLength() { return havLength; } public Class<?>[] getJavaClass() { return javaClass; } public void setJavaClass(Class<?>[] javaClass) { this.javaClass = javaClass; } public String getDbType() { return dbType; } public void setDbType(String dbType) { this.dbType = dbType; } public int getDefaultLength() { return defaultLength; } public void setDefaultLength(int defaultLength) { this.defaultLength = defaultLength; } public void setHavLength(boolean havLength) { this.havLength = havLength; } public static DefaultTypeRelation getByClass(String className){ for(DefaultTypeRelation dtr : DefaultTypeRelation.values()){ Class<?>[] cs = dtr.getJavaClass(); if(null == cs){ return null; } for(Class<?> c : cs){ if(c.getName().equals(className)) return dtr; } } return null; } public static DefaultTypeRelation getByColumnType(String type){ for(DefaultTypeRelation dtr : DefaultTypeRelation.values()){ if(dtr.getDbType().equals(type)){ return dtr; } } return null; } }