1 package in.co.daffodil.db.jdbc; 2 3 import java.sql.Types ; 4 import com.daffodilwoods.database.resource.*; 5 6 public class SQLType{ 7 int type; 8 int scale=-1; 9 public SQLType(int type,int scale) { 10 this.type = type; 11 this.scale = scale; 12 } 13 public SQLType(int type) { 14 this(type,-1); 15 } 16 int getType(){ 17 return type; 18 } 19 int getScale(){ 20 return scale; 21 } 22 23 boolean checkForBit(int typ){ 24 switch(typ){ 25 case Types.BIT : 26 case Types.TINYINT : 27 case Types.SMALLINT : 28 case Types.INTEGER : 29 case Types.BIGINT : 30 case Types.FLOAT : 31 case Types.REAL : 32 case Types.DOUBLE : 33 case Types.NUMERIC : 34 case Types.DECIMAL : 35 case Types.CHAR : 36 case Types.VARCHAR : 37 case Types.LONGVARCHAR: 38 case 16 : 39 return true; 40 case Types.OTHER : 41 return true; 42 } 43 return false; 44 } 45 46 public boolean isCompatibleTo(int typ,int scal){ 47 if(type==typ && scale==scal){ 48 return true; 49 } 50 switch(this.type){ 51 case Types.BIT : 52 case Types.TINYINT : 53 case Types.SMALLINT : 54 case Types.INTEGER : 55 case Types.BIGINT : 56 case Types.FLOAT : 57 case Types.REAL : 58 case Types.DOUBLE : 59 case Types.NUMERIC : 60 case Types.DECIMAL : 61 case 16 : 62 boolean chk=checkForBit(typ); 63 return chk; 64 case Types.CHAR : 65 case Types.VARCHAR : 66 case Types.LONGVARCHAR: 67 switch(typ){ 68 case Types.TIME : 69 case Types.DATE : 70 case Types.TIMESTAMP : 71 return true; 72 default : 73 boolean chk2=checkForBit(typ); 74 return chk2; 75 } 76 case Types.BINARY : 77 case Types.VARBINARY : 78 case Types.LONGVARBINARY : 79 switch(typ){ 80 case Types.BINARY : 81 case Types.VARBINARY : 82 case Types.LONGVARBINARY : 83 case Types.OTHER : 84 return true; 85 } 86 break; 87 case Types.DATE : 88 case Types.TIME : 89 case Types.TIMESTAMP : 90 switch(typ){ 91 case Types.CHAR : 92 case Types.VARCHAR : 93 case Types.LONGVARCHAR: 94 case Types.DATE : 95 case Types.TIME : 96 case Types.TIMESTAMP : 97 case Types.OTHER : 98 return true; 99 } 100 break; 101 case Types.CLOB : 102 switch(typ){ 103 case Types.CLOB : 104 case Types.OTHER : 105 return true; 106 } 107 break; 108 case Types.BLOB : 109 switch(typ){ 110 case Types.BLOB : 111 case Types.OTHER : 112 return true; 113 } 114 break; 115 case Types.OTHER : 116 if(typ==Types.OTHER){ 117 return true; 118 } 119 default : 120 return false; 121 } 122 return false; 123 } 124 } 125 | Popular Tags |