KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > in > co > daffodil > db > jdbc > SQLType


1 package in.co.daffodil.db.jdbc;
2
3 import java.sql.Types JavaDoc;
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