KickJava   Java API By Example, From Geeks To Geeks.

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


1 package in.co.daffodil.db.jdbc;
2
3 import java.sql.*;
4 import java.math.BigDecimal JavaDoc;
5 import com.daffodilwoods.daffodildb.utils.field.*;
6 import com.daffodilwoods.database.resource.*;
7
8 /**
9  * Correspondance between Java Primitive Types and JDBC Types
10  */

11
12 public class DTConvertor {
13
14    static final int BOOLEAN = 16;
15
16    static DTConvertor dtConvertor;
17    static {
18       dtConvertor = new DTConvertor();
19    }
20
21    private DTConvertor() {
22    }
23
24    public static DTConvertor getInstance() {
25       return dtConvertor; //== null ? (dtConvertor = new DTConvertor()) : dtConvertor;
26
}
27
28    public Object JavaDoc getObject(Object JavaDoc obj, int type) throws SQLException {
29       if (obj == null)
30          return null;
31       try {
32          if (obj.getClass().getName().equalsIgnoreCase("com.daffodilwoods.daffodildb.utils.field.FieldBase")) {
33             throw new SQLException("Invalid Object is passed for Conversion");
34          }
35          switch (type) {
36             case Types.TINYINT:
37             case Types.SMALLINT:
38             case Types.INTEGER:
39                return getInteger(obj);
40             case Types.BIGINT:
41                return getBigInt(obj);
42             case Types.REAL:
43                return getReal(obj);
44             case Types.FLOAT:
45                return getFloat(obj);
46             case Types.DOUBLE:
47                return getDouble(obj);
48             case Types.DECIMAL:
49                Object JavaDoc a = getDecimal(obj);
50                return a;
51             case Types.NUMERIC:
52                return getNumeric(obj);
53             case BOOLEAN:
54                return getBoolean(obj);
55             case Types.BIT:
56                return getBit(obj);
57             case Types.CHAR:
58                return getChar(obj);
59             case Types.VARCHAR:
60                return getVarchar(obj);
61             case Types.LONGVARCHAR:
62                return getLongVarchar(obj);
63             case Types.BINARY:
64                return getBinary(obj);
65             case Types.VARBINARY:
66                return getVarBinary(obj);
67             case Types.LONGVARBINARY:
68                return getLongVarBinary(obj);
69             case Types.DATE:
70                return getDate(obj);
71             case Types.TIME:
72                return getTime(obj);
73             case Types.TIMESTAMP:
74                return getTimeStamp(obj);
75             case Types.CLOB:
76                return getClob(obj);
77             case Types.BLOB:
78                return getBlob(obj);
79             case Types.JAVA_OBJECT:
80                return getJavaObject(obj);
81          }
82          return obj;
83       } catch (SQLException sqe) {
84          throw sqe;
85       }
86
87    }
88
89    private Byte JavaDoc getTinyInt(Object JavaDoc obj) throws SQLException {
90       if (obj instanceof Byte JavaDoc)
91          return ( (Byte JavaDoc) obj);
92       if (obj instanceof Short JavaDoc)
93          return new Byte JavaDoc( ( (Short JavaDoc) obj).byteValue());
94       if (obj instanceof Integer JavaDoc)
95          return new Byte JavaDoc( ( (Integer JavaDoc) obj).byteValue());
96       if (obj instanceof Long JavaDoc)
97          return new Byte JavaDoc( ( (Long JavaDoc) obj).byteValue());
98       if (obj instanceof Float JavaDoc)
99          return new Byte JavaDoc( ( (Float JavaDoc) obj).byteValue());
100       if (obj instanceof Double JavaDoc)
101          return new Byte JavaDoc( ( (Double JavaDoc) obj).byteValue());
102       if (obj instanceof BigDecimal JavaDoc)
103          return new Byte JavaDoc( ( (BigDecimal JavaDoc) obj).byteValue());
104       if (obj instanceof Boolean JavaDoc)
105          return Boolean.TRUE.equals(obj) ? new Byte JavaDoc( (byte) 1) : new Byte JavaDoc( (byte) 0);
106       if (obj instanceof String JavaDoc) {
107          String JavaDoc st = ( (String JavaDoc) obj).trim();
108          return new Byte JavaDoc(st);
109       }
110       throw new SQLException(obj.getClass() + " can't be conveted to Byte");
111    }
112
113    private Short JavaDoc getSmallInt(Object JavaDoc obj) throws SQLException {
114       if (obj instanceof Byte JavaDoc)
115          return new Short JavaDoc( ( (Byte JavaDoc) obj).shortValue());
116       if (obj instanceof Short JavaDoc)
117          return ( (Short JavaDoc) obj);
118       if (obj instanceof Integer JavaDoc)
119          return new Short JavaDoc( ( (Integer JavaDoc) obj).shortValue());
120       if (obj instanceof Long JavaDoc)
121          return new Short JavaDoc( ( (Long JavaDoc) obj).shortValue());
122       if (obj instanceof Float JavaDoc)
123          return new Short JavaDoc( ( (Float JavaDoc) obj).shortValue());
124       if (obj instanceof Double JavaDoc)
125          return new Short JavaDoc( ( (Double JavaDoc) obj).shortValue());
126       if (obj instanceof BigDecimal JavaDoc)
127          return new Short JavaDoc( ( (BigDecimal JavaDoc) obj).shortValue());
128       if (obj instanceof Boolean JavaDoc)
129          return Boolean.TRUE.equals(obj) ? new Short JavaDoc( (short) 1) : new Short JavaDoc( (short) 0);
130       if (obj instanceof String JavaDoc) {
131          String JavaDoc st = ( (String JavaDoc) obj).trim();
132          return new Short JavaDoc(st);
133       }
134       throw new SQLException(obj.getClass() + " can't be conveted to Short");
135    }
136
137    private Integer JavaDoc getInteger(Object JavaDoc obj) throws SQLException {
138       if (obj instanceof Byte JavaDoc)
139          return new Integer JavaDoc( ( (Byte JavaDoc) obj).intValue());
140       if (obj instanceof Short JavaDoc)
141          return new Integer JavaDoc( ( (Short JavaDoc) obj).intValue());
142       if (obj instanceof Integer JavaDoc)
143          return (Integer JavaDoc) obj;
144       if (obj instanceof Long JavaDoc)
145          return new Integer JavaDoc( ( (Long JavaDoc) obj).intValue());
146       if (obj instanceof Float JavaDoc)
147          return new Integer JavaDoc( ( (Float JavaDoc) obj).intValue());
148       if (obj instanceof Double JavaDoc)
149          return new Integer JavaDoc( ( (Double JavaDoc) obj).intValue());
150       if (obj instanceof BigDecimal JavaDoc)
151          return new Integer JavaDoc( ( (BigDecimal JavaDoc) obj).intValue());
152       if (obj instanceof Boolean JavaDoc)
153          return Boolean.TRUE.equals(obj) ? new Integer JavaDoc( (int) 1) : new Integer JavaDoc( (int) 0);
154       if (obj instanceof String JavaDoc) {
155          String JavaDoc st = ( (String JavaDoc) obj).trim();
156          return new Integer JavaDoc(st);
157       }
158       throw new SQLException(obj.getClass() + " can't be conveted to Integer");
159    }
160
161    private Long JavaDoc getBigInt(Object JavaDoc obj) throws SQLException {
162       if (obj instanceof Byte JavaDoc)
163          return new Long JavaDoc( ( (Byte JavaDoc) obj).longValue());
164       if (obj instanceof Short JavaDoc)
165          return new Long JavaDoc( ( (Short JavaDoc) obj).longValue());
166       if (obj instanceof Integer JavaDoc)
167          return new Long JavaDoc( ( (Integer JavaDoc) obj).longValue());
168       if (obj instanceof Long JavaDoc)
169          return new Long JavaDoc( ( (Long JavaDoc) obj).longValue());
170       if (obj instanceof Float JavaDoc)
171          return new Long JavaDoc( ( (Float JavaDoc) obj).longValue());
172       if (obj instanceof Double JavaDoc)
173          return new Long JavaDoc( ( (Double JavaDoc) obj).longValue());
174       if (obj instanceof BigDecimal JavaDoc)
175          return new Long JavaDoc( ( (BigDecimal JavaDoc) obj).longValue());
176       if (obj instanceof Boolean JavaDoc)
177          return Boolean.TRUE.equals(obj) ? new Long JavaDoc( (long) 1) : new Long JavaDoc( (long) 0);
178       if (obj instanceof String JavaDoc) {
179          String JavaDoc st = ( (String JavaDoc) obj).trim();
180          return new Long JavaDoc(st);
181       }
182       throw new SQLException(obj.getClass() + " can't be conveted to Long");
183    }
184
185    private Float JavaDoc getReal(Object JavaDoc obj) throws SQLException {
186       if (obj instanceof Byte JavaDoc)
187          return new Float JavaDoc( ( (Byte JavaDoc) obj).floatValue());
188       if (obj instanceof Short JavaDoc)
189          return new Float JavaDoc( ( (Short JavaDoc) obj).floatValue());
190       if (obj instanceof Integer JavaDoc)
191          return new Float JavaDoc( ( (Integer JavaDoc) obj).floatValue());
192       if (obj instanceof Long JavaDoc)
193          return new Float JavaDoc( ( (Long JavaDoc) obj).floatValue());
194       if (obj instanceof Float JavaDoc)
195          return ( (Float JavaDoc) obj);
196       if (obj instanceof Double JavaDoc)
197          return new Float JavaDoc( ( (Double JavaDoc) obj).floatValue());
198       if (obj instanceof BigDecimal JavaDoc)
199          return new Float JavaDoc( ( (BigDecimal JavaDoc) obj).floatValue());
200       if (obj instanceof Boolean JavaDoc)
201          return Boolean.TRUE.equals(obj) ? new Float JavaDoc( (float) 1) : new Float JavaDoc( (float) 0);
202       if (obj instanceof String JavaDoc) {
203          String JavaDoc st = ( (String JavaDoc) obj).trim();
204          return new Float JavaDoc(st);
205       }
206       throw new SQLException(obj.getClass() + " can't be conveted to Float");
207    }
208
209    private Double JavaDoc getFloat(Object JavaDoc obj) throws SQLException {
210       if (obj instanceof Byte JavaDoc)
211          return new Double JavaDoc( ( (Byte JavaDoc) obj).doubleValue());
212       if (obj instanceof Short JavaDoc)
213          return new Double JavaDoc( ( (Short JavaDoc) obj).doubleValue());
214       if (obj instanceof Integer JavaDoc)
215          return new Double JavaDoc( ( (Integer JavaDoc) obj).doubleValue());
216       if (obj instanceof Long JavaDoc)
217          return new Double JavaDoc( ( (Long JavaDoc) obj).doubleValue());
218       if (obj instanceof Float JavaDoc)
219          return new Double JavaDoc( ( (Float JavaDoc) obj).doubleValue());
220       if (obj instanceof Double JavaDoc)
221          return ( (Double JavaDoc) obj);
222       if (obj instanceof BigDecimal JavaDoc)
223          return new Double JavaDoc( ( (BigDecimal JavaDoc) obj).doubleValue());
224       if (obj instanceof Boolean JavaDoc)
225          return Boolean.TRUE.equals(obj) ? new Double JavaDoc( (double) 1) : new Double JavaDoc( (double) 0);
226       if (obj instanceof String JavaDoc) {
227          String JavaDoc st = ( (String JavaDoc) obj).trim();
228          return new Double JavaDoc(st);
229       }
230       throw new SQLException(obj.getClass() + " can't be conveted to Double");
231    }
232
233    private Double JavaDoc getDouble(Object JavaDoc obj) throws SQLException {
234       if (obj instanceof Byte JavaDoc)
235          return new Double JavaDoc( ( (Byte JavaDoc) obj).doubleValue());
236       if (obj instanceof Short JavaDoc)
237          return new Double JavaDoc( ( (Short JavaDoc) obj).doubleValue());
238       if (obj instanceof Integer JavaDoc)
239          return new Double JavaDoc( ( (Integer JavaDoc) obj).doubleValue());
240       if (obj instanceof Long JavaDoc)
241          return new Double JavaDoc( ( (Long JavaDoc) obj).doubleValue());
242       if (obj instanceof Float JavaDoc)
243          return new Double JavaDoc( ( (Float JavaDoc) obj).doubleValue());
244       if (obj instanceof Double JavaDoc)
245          return ( (Double JavaDoc) obj);
246       if (obj instanceof BigDecimal JavaDoc)
247          return new Double JavaDoc( ( (BigDecimal JavaDoc) obj).doubleValue());
248       if (obj instanceof Boolean JavaDoc)
249          return Boolean.TRUE.equals(obj) ? new Double JavaDoc( (double) 1) : new Double JavaDoc( (double) 0);
250       if (obj instanceof String JavaDoc) {
251          String JavaDoc st = ( (String JavaDoc) obj).trim();
252          return new Double JavaDoc(st);
253       }
254       throw new SQLException(obj.getClass() + " can't be conveted to Double");
255    }
256
257    private BigDecimal JavaDoc getDecimal(Object JavaDoc obj) throws SQLException {
258       if (obj instanceof Byte JavaDoc)
259          return new BigDecimal JavaDoc( ( (Byte JavaDoc) obj).doubleValue());
260       if (obj instanceof Short JavaDoc)
261          return new BigDecimal JavaDoc( ( (Short JavaDoc) obj).doubleValue());
262       if (obj instanceof Integer JavaDoc)
263          return new BigDecimal JavaDoc( ( (Integer JavaDoc) obj).doubleValue());
264       if (obj instanceof Long JavaDoc)
265          return new BigDecimal JavaDoc( ( (Long JavaDoc) obj).doubleValue());
266       if (obj instanceof Float JavaDoc)
267          return new BigDecimal JavaDoc( ( (Float JavaDoc) obj).doubleValue());
268       if (obj instanceof Double JavaDoc)
269          return new BigDecimal JavaDoc( ( (Double JavaDoc) obj).doubleValue());
270       if (obj instanceof BigDecimal JavaDoc)
271          return (BigDecimal JavaDoc) obj;
272       if (obj instanceof Boolean JavaDoc)
273          return Boolean.TRUE.equals(obj) ? new BigDecimal JavaDoc( (double) 1) : new BigDecimal JavaDoc( (double) 0);
274       if (obj instanceof String JavaDoc) {
275          String JavaDoc st = ( (String JavaDoc) obj).trim();
276          return new BigDecimal JavaDoc(st);
277       }
278       throw new SQLException(obj.getClass() + " can't be conveted to BigDecimal");
279    }
280
281    private BigDecimal JavaDoc getNumeric(Object JavaDoc obj) throws SQLException {
282       if (obj instanceof Byte JavaDoc)
283          return new BigDecimal JavaDoc( ( (Byte JavaDoc) obj).doubleValue());
284       if (obj instanceof Short JavaDoc)
285          return new BigDecimal JavaDoc( ( (Short JavaDoc) obj).doubleValue());
286       if (obj instanceof Integer JavaDoc)
287          return new BigDecimal JavaDoc( ( (Integer JavaDoc) obj).doubleValue());
288       if (obj instanceof Long JavaDoc)
289          return new BigDecimal JavaDoc( ( (Long JavaDoc) obj).doubleValue());
290       if (obj instanceof Float JavaDoc)
291          return new BigDecimal JavaDoc( ( (Float JavaDoc) obj).doubleValue());
292       if (obj instanceof Double JavaDoc)
293          return new BigDecimal JavaDoc( ( (Double JavaDoc) obj).doubleValue());
294       if (obj instanceof BigDecimal JavaDoc)
295          return (BigDecimal JavaDoc) obj;
296       if (obj instanceof Boolean JavaDoc)
297          return Boolean.TRUE.equals(obj) ? new BigDecimal JavaDoc( (double) 1) : new BigDecimal JavaDoc( (double) 0);
298       if (obj instanceof String JavaDoc) {
299          String JavaDoc st = ( (String JavaDoc) obj).trim();
300          return new BigDecimal JavaDoc(st);
301       }
302       throw new SQLException(obj.getClass() + " can't be conveted to BigDecimal");
303    }
304
305    private Boolean JavaDoc getBit(Object JavaDoc obj) throws SQLException {
306       if (obj instanceof Byte JavaDoc)
307          return Utilities.getBooleanValue(obj.hashCode() != 0);
308       if (obj instanceof Short JavaDoc)
309          return new Boolean JavaDoc(obj.hashCode() != 0);
310       if (obj instanceof Integer JavaDoc)
311          return new Boolean JavaDoc(obj.hashCode() != 0);
312       if (obj instanceof Long JavaDoc)
313          return new Boolean JavaDoc(obj.hashCode() != 0);
314       if (obj instanceof Float JavaDoc)
315          return new Boolean JavaDoc(obj.hashCode() != 0);
316       if (obj instanceof Double JavaDoc)
317          return new Boolean JavaDoc(obj.hashCode() != 0);
318       if (obj instanceof BigDecimal JavaDoc) {
319          BigDecimal JavaDoc bd = (BigDecimal JavaDoc) obj;
320          BigDecimal JavaDoc bd1 = new BigDecimal JavaDoc(0);
321          return new Boolean JavaDoc(bd.compareTo(bd1) != 0);
322       }
323       if (obj instanceof Boolean JavaDoc)
324          return ( (Boolean JavaDoc) obj);
325       if (obj instanceof String JavaDoc) {
326          String JavaDoc str = (String JavaDoc) obj;
327          str = str.trim();
328          return new Boolean JavaDoc(! (str.equalsIgnoreCase("false") || str.equalsIgnoreCase("0")));
329       }
330       throw new SQLException(obj.getClass() + " can't be conveted to Boolean");
331    }
332
333    private Boolean JavaDoc getBoolean(Object JavaDoc obj) throws SQLException {
334       if (obj instanceof Byte JavaDoc)
335          return Utilities.getBooleanValue(obj.hashCode() != 0);
336       if (obj instanceof Short JavaDoc)
337          return new Boolean JavaDoc(obj.hashCode() != 0);
338       if (obj instanceof Integer JavaDoc)
339          return new Boolean JavaDoc(obj.hashCode() != 0);
340       if (obj instanceof Long JavaDoc)
341          return new Boolean JavaDoc(obj.hashCode() != 0);
342       if (obj instanceof Float JavaDoc)
343          return new Boolean JavaDoc(obj.hashCode() != 0);
344       if (obj instanceof Double JavaDoc)
345          return new Boolean JavaDoc(obj.hashCode() != 0);
346       if (obj instanceof BigDecimal JavaDoc) {
347          BigDecimal JavaDoc bd = (BigDecimal JavaDoc) obj;
348          BigDecimal JavaDoc bd1 = new BigDecimal JavaDoc(0);
349          return new Boolean JavaDoc(bd.compareTo(bd1) != 0);
350       }
351       if (obj instanceof Boolean JavaDoc)
352          return ( (Boolean JavaDoc) obj);
353       if (obj instanceof String JavaDoc) {
354          String JavaDoc str = (String JavaDoc) obj;
355          str = str.trim();
356          return new Boolean JavaDoc(! (str.equalsIgnoreCase("false") || str.equalsIgnoreCase("0")));
357       }
358       throw new SQLException(obj.getClass() + " can't be conveted to Boolean");
359    }
360
361    private String JavaDoc getChar(Object JavaDoc obj) throws SQLException {
362       if (obj instanceof Byte JavaDoc)
363          return ( (Byte JavaDoc) obj).toString();
364       if (obj instanceof Short JavaDoc)
365          return ( (Short JavaDoc) obj).toString();
366       if (obj instanceof Integer JavaDoc)
367          return ( (Integer JavaDoc) obj).toString();
368       if (obj instanceof Long JavaDoc)
369          return ( (Long JavaDoc) obj).toString();
370       if (obj instanceof Float JavaDoc)
371          return ( (Float JavaDoc) obj).toString();
372       if (obj instanceof Double JavaDoc)
373          return ( (Double JavaDoc) obj).toString();
374       if (obj instanceof BigDecimal JavaDoc)
375          return ( (BigDecimal JavaDoc) obj).toString();
376       if (obj instanceof Boolean JavaDoc)
377          return ( (Boolean JavaDoc) obj).toString();
378       if (obj instanceof String JavaDoc)
379          return (String JavaDoc) obj;
380       if (obj instanceof java.sql.Date JavaDoc)
381          return ( (Date) obj).toString();
382       if (obj instanceof java.sql.Time JavaDoc)
383          return ( (Time) obj).toString();
384       if (obj instanceof java.sql.Timestamp JavaDoc)
385          return ( (Timestamp) obj).toString();
386       if (obj instanceof Clob) {
387          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length());
388       }
389       throw new SQLException(obj.getClass() + " can't be conveted to String");
390    }
391
392    private String JavaDoc getVarchar(Object JavaDoc obj) throws SQLException {
393       if (obj instanceof Byte JavaDoc)
394          return ( (Byte JavaDoc) obj).toString();
395       if (obj instanceof Short JavaDoc)
396          return ( (Short JavaDoc) obj).toString();
397       if (obj instanceof Integer JavaDoc)
398          return ( (Integer JavaDoc) obj).toString();
399       if (obj instanceof Long JavaDoc)
400          return ( (Long JavaDoc) obj).toString();
401       if (obj instanceof Float JavaDoc)
402          return ( (Float JavaDoc) obj).toString();
403       if (obj instanceof Double JavaDoc)
404          return ( (Double JavaDoc) obj).toString();
405       if (obj instanceof BigDecimal JavaDoc)
406          return ( (BigDecimal JavaDoc) obj).toString();
407       if (obj instanceof Boolean JavaDoc)
408          return ( (Boolean JavaDoc) obj).toString();
409       if (obj instanceof String JavaDoc)
410          return (String JavaDoc) obj;
411       if (obj instanceof java.sql.Date JavaDoc)
412          return ( (Date) obj).toString();
413       if (obj instanceof java.sql.Time JavaDoc)
414          return ( (Time) obj).toString();
415       if (obj instanceof java.sql.Timestamp JavaDoc)
416          return ( (Timestamp) obj).toString();
417       if (obj instanceof Clob) {
418          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length());
419       }
420       if (obj instanceof Blob) {
421          return ( (Blob) obj).getClass() + "";
422       }
423       throw new SQLException(obj.getClass() + " can't be conveted to String");
424    }
425
426    private String JavaDoc getLongVarchar(Object JavaDoc obj) throws SQLException {
427       if (obj instanceof Byte JavaDoc)
428          return ( (Byte JavaDoc) obj).toString();
429       if (obj instanceof Short JavaDoc)
430          return ( (Short JavaDoc) obj).toString();
431       if (obj instanceof Integer JavaDoc)
432          return ( (Integer JavaDoc) obj).toString();
433       if (obj instanceof Long JavaDoc)
434          return ( (Long JavaDoc) obj).toString();
435       if (obj instanceof Float JavaDoc)
436          return ( (Float JavaDoc) obj).toString();
437       if (obj instanceof Double JavaDoc)
438          return ( (Double JavaDoc) obj).toString();
439       if (obj instanceof BigDecimal JavaDoc)
440          return ( (BigDecimal JavaDoc) obj).toString();
441       if (obj instanceof Boolean JavaDoc)
442          return ( (Boolean JavaDoc) obj).toString();
443       if (obj instanceof String JavaDoc)
444          return (String JavaDoc) obj;
445       if (obj instanceof java.sql.Date JavaDoc)
446          return ( (Date) obj).toString();
447       if (obj instanceof java.sql.Time JavaDoc)
448          return ( (Time) obj).toString();
449       if (obj instanceof java.sql.Timestamp JavaDoc)
450          return ( (Timestamp) obj).toString();
451       if (obj instanceof Clob) {
452          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length());
453       }
454       throw new SQLException(obj.getClass() + " can't be conveted to String");
455    }
456
457    private byte[] getBinary(Object JavaDoc obj) throws SQLException {
458       if (obj instanceof String JavaDoc)
459          return ( (String JavaDoc) obj).getBytes();
460       if (obj instanceof byte[])
461          return (byte[]) obj;
462       if (obj instanceof Blob)
463          return ( (Blob) obj).getBytes(1, (int) ( (Blob) obj).length());
464       if (obj instanceof Clob)
465          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length()).getBytes();
466       throw new SQLException(obj.getClass() + " can't be conveted to byte[]");
467    }
468
469    private byte[] getVarBinary(Object JavaDoc obj) throws SQLException {
470       if (obj instanceof String JavaDoc)
471          return ( (String JavaDoc) obj).getBytes();
472       if (obj instanceof byte[])
473          return (byte[]) obj;
474       if (obj instanceof Blob)
475          return ( (Blob) obj).getBytes(1, (int) ( (Blob) obj).length());
476       if (obj instanceof Clob)
477          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length()).getBytes();
478       throw new SQLException(obj.getClass() + " can't be conveted to byte[]");
479    }
480
481    private byte[] getLongVarBinary(Object JavaDoc obj) throws SQLException {
482       if (obj instanceof String JavaDoc)
483          return ( (String JavaDoc) obj).getBytes();
484       if (obj instanceof byte[])
485          return (byte[]) obj;
486       if (obj instanceof Blob)
487          return ( (Blob) obj).getBytes(1, (int) ( (Blob) obj).length());
488       if (obj instanceof Clob)
489          return ( (Clob) obj).getSubString(1, (int) ( (Clob) obj).length()).getBytes();
490       throw new SQLException(obj.getClass() + " can't be conveted to byte[]");
491    }
492
493    private Date getDate(Object JavaDoc obj) throws SQLException {
494       if (obj instanceof String JavaDoc) {
495          String JavaDoc st = ( (String JavaDoc) obj).trim();
496          return Date.valueOf(st);
497       }
498       if (obj instanceof Date)
499          return ( (Date) obj);
500       if (obj instanceof java.sql.Timestamp JavaDoc) {
501          String JavaDoc sMfgStringVal = obj.toString();
502          sMfgStringVal = sMfgStringVal.substring(0, sMfgStringVal.indexOf(' '));
503          return java.sql.Date.valueOf(sMfgStringVal);
504       }
505       throw new SQLException(obj.getClass() + " can't be conveted to Date");
506    }
507
508    private Time getTime(Object JavaDoc obj) throws SQLException {
509       if (obj instanceof String JavaDoc) {
510          String JavaDoc st = ( (String JavaDoc) obj).trim();
511          return Time.valueOf(st);
512       }
513       if (obj instanceof java.sql.Time JavaDoc)
514          return ( (Time) obj);
515       if (obj instanceof java.sql.Timestamp JavaDoc)
516          return new Time( ( (Timestamp) obj).getTime());
517       throw new SQLException(obj.getClass() + " can't be conveted to Time");
518    }
519
520    private Timestamp getTimeStamp(Object JavaDoc obj) throws SQLException {
521       if (obj instanceof String JavaDoc) {
522          String JavaDoc st = ( (String JavaDoc) obj).trim();
523          return Timestamp.valueOf(st);
524       }
525       if (obj instanceof Date)
526          return new Timestamp( ( (Date) obj).getTime());
527       if (obj instanceof Time)
528          return new Timestamp( ( (Time) obj).getTime());
529       if (obj instanceof java.sql.Timestamp JavaDoc)
530          return (Timestamp) obj;
531       throw new SQLException(obj.getClass() + " can't be conveted to Timestamp");
532    }
533
534    private Clob getClob(Object JavaDoc obj) throws SQLException {
535       if (obj instanceof java.sql.Clob JavaDoc)
536          return ( (Clob) obj);
537       throw new SQLException(obj.getClass() + " can't be conveted to Clob");
538    }
539
540    private Blob getBlob(Object JavaDoc obj) throws SQLException {
541       if (obj instanceof java.sql.Blob JavaDoc)
542          return ( (Blob) obj);
543       throw new SQLException(obj.getClass() + " can't be conveted to Blob");
544    }
545
546    private Object JavaDoc getJavaObject(Object JavaDoc obj) {
547       return obj;
548    }
549 }
550
551
Popular Tags