KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > dbunit > ext > db2 > Db2DataTypeFactory


1 /*
2  *
3  * The DbUnit Database Testing Framework
4  * Copyright (C)2002-2004, DbUnit.org
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  */

21
22 package org.dbunit.ext.db2;
23
24 import org.dbunit.dataset.datatype.DataType;
25 import org.dbunit.dataset.datatype.DataTypeException;
26 import org.dbunit.dataset.datatype.DefaultDataTypeFactory;
27 import org.dbunit.dataset.datatype.StringDataType;
28
29 import java.sql.Types JavaDoc;
30
31 /**
32  * Specialized factory that recognizes DB2 data types.
33  *
34  * @author Federico Spinazzi
35  * @author Manuel Laflamme
36  * @since Jul 17, 2003
37  * @version $Revision: 1.3 $
38  */

39 public class Db2DataTypeFactory extends DefaultDataTypeFactory
40 {
41     static final DataType DB2XML_XMLVARCHAR = new StringDataType(
42             "DB2XML.XMLVARCHAR", Types.DISTINCT);
43     static final DataType DB2XML_XMLCLOB = new StringDataType(
44             "DB2XML.XMLCLOB", Types.DISTINCT);
45     static final DataType DB2XML_XMLFILE = new StringDataType(
46             "DB2XML.XMLFILE", Types.DISTINCT);
47
48     public DataType createDataType(int sqlType, String JavaDoc sqlTypeName) throws DataTypeException
49     {
50         if (sqlType == Types.DISTINCT)
51         {
52             if (sqlTypeName.equals(DB2XML_XMLVARCHAR.toString()))
53             {
54                 return DB2XML_XMLVARCHAR;
55             }
56
57             if (sqlTypeName.equals(DB2XML_XMLCLOB.toString()))
58             {
59                 return DB2XML_XMLCLOB;
60             }
61
62             if (sqlTypeName.equals(DB2XML_XMLFILE.toString()))
63             {
64                 return DB2XML_XMLFILE;
65             }
66         }
67
68         return super.createDataType(sqlType, sqlTypeName);
69     }
70 }
71
Popular Tags