1 /*** $Id: GenTypes.java,v 1.1.1.1 2004/05/18 10:50:17 mochoa Exp $*/
2 package org.j2ee.dao.gen;
3
4 import java.sql.Types;
5 import java.util.Map;
6 import java.util.HashMap;
7
8 /***
9 * Last modified $Date: 2004/05/18 10:50:17 $
10 * @version $Revision: 1.1.1.1 $
11 * @author jvlio (jvlio@users.sourceforge.net) - 04/11/2002 - 02:02:49
12 */
13 public class GenTypes {
14
15 public static final String[] SQL_TYPES = {
16 "ARRAY","BIGINT","BINARY","BIT","BLOB","CHAR","CLOB","DATE","DECIMAL",
17 "DISTINCT","DOUBLE","FLOAT","INTEGER","JAVA_OBJECT","LONGVARBINARY",
18 "LONGVARCHAR","NULL","NUMERIC","OTHER","REAL","REF","SMALLINT","STRUCT",
19 "TIME","TIMESTAMP","TINYINT","VARBINARY","VARCHAR" };
20
21
22 /***
23 * BigDecimal=java.math, String=java.lang, Date=java.sql, Time=java.sql, Timestamp=java.sql
24 * Blob=java.sql, Clob=java.sql, Array=java.sql, Ref=java.sql, Struct=java.sql
25 */
26 public static final String[] JAVA_TYPES = {
27 "boolean","byte","short","int","long","float","double","BigDecimal",
28 "String","Date","Time","Timestamp","byte[]","Blob","Clob","Array","Ref",
29 "Struct" };
30
31 public static final String[] RSET_PROP = {
32 "Boolean","Byte","Short","Int","Long","Float","Double","BigDecimal",
33 "String","Date","Time","Timestamp","Bytes","Blob","Clob","Array","Ref",
34 "Struct" };
35
36 public static final String[] JAVA_WRAPPERS = {
37 "Boolean","Byte","Short","Integer","Long","Float","Double",null,
38 null,null,null,null,"String",null,null,null,null,
39 null };
40
41
42 public static int BOOLEAN = 0;
43 public static int BYTE = 1;
44 public static int SHORT = 2;
45 public static int INT = 3;
46 public static int LONG = 4;
47 public static int FLOAT = 5;
48 public static int DOUBLE = 6;
49 public static int BIGDECIMAL = 7;
50 public static int STRING = 8;
51 public static int DATE = 9;
52 public static int TIME = 10;
53 public static int TIMESTAMP = 11;
54 public static int BYTEA = 12;
55 public static int BLOB = 13;
56 public static int CLOB = 14;
57 public static int ARRAY = 15;
58 public static int REF = 16;
59 public static int STRUCT = 17;
60
61 /***
62 * @associates Integer
63 */
64 public static final Map javaTypesMap = new HashMap();
65
66 static {
67 for (int i=0; i<JAVA_TYPES.length; i++)
68 javaTypesMap.put(JAVA_TYPES[i],new Integer(i));
69 }
70
71 public static String[] getSqlTypes() { return SQL_TYPES; }
72 public static String[] getJavaTypes() { return JAVA_TYPES; }
73 public static String[] getRsetProp() { return RSET_PROP; }
74 public static String[] getJavaWrappers() { return JAVA_WRAPPERS; }
75
76
77 public static int getJavaType(String type) {
78 Integer jtype = (Integer)javaTypesMap.get(type);
79 return (jtype==null)? -1 : jtype.intValue();
80 }
81
82 public static String sqlTypeToString(int sqlType) {
83 switch (sqlType) {
84 case Types.ARRAY : return "ARRAY";
85 case Types.BIGINT : return "BIGINT";
86 case Types.BINARY : return "BINARY";
87 case Types.BIT : return "BIT";
88 case Types.BLOB : return "BLOB";
89 case Types.CHAR : return "CHAR";
90 case Types.CLOB : return "CLOB";
91 case Types.DATE : return "DATE";
92 case Types.DECIMAL : return "DECIMAL";
93 case Types.DISTINCT : return "DISTINCT";
94 case Types.DOUBLE : return "DOUBLE";
95 case Types.FLOAT : return "FLOAT";
96 case Types.INTEGER : return "INTEGER";
97 case Types.JAVA_OBJECT : return "JAVA_OBJECT";
98 case Types.LONGVARBINARY : return "LONGVARBINARY";
99 case Types.LONGVARCHAR : return "LONGVARCHAR";
100 case Types.NULL : return "NULL";
101 case Types.NUMERIC : return "NUMERIC";
102 case Types.OTHER : return "OTHER";
103 case Types.REAL : return "REAL";
104 case Types.REF : return "REF";
105 case Types.SMALLINT : return "SMALLINT";
106 case Types.STRUCT : return "STRUCT";
107 case Types.TIME : return "TIME";
108 case Types.TIMESTAMP : return "TIMESTAMP";
109 case Types.TINYINT : return "TINYINT";
110 case Types.VARBINARY : return "VARBINARY";
111 case Types.VARCHAR : return "VARCHAR";
112 default: return "??";
113 }
114 }
115
116
117
118 /***
119 * This mapping is extracted from the book "Data Base Programing with JDBC
120 * and Java", table 3-2, page 44.
121 * @param type a SQL type defined in java.sql.Types class.
122 * @return a index to JAVA_TYPES constant.
123 */
124 static int mapSQLTypeToJavaType(int type) {
125 switch (type) {
126 case Types.BIT : return BOOLEAN;
127 case Types.TINYINT : return BYTE;
128 case Types.SMALLINT : return SHORT;
129 case Types.INTEGER : return INT;
130 case Types.BIGINT : return LONG;
131 case Types.REAL : return FLOAT;
132 case Types.FLOAT : return DOUBLE;
133 case Types.DOUBLE : return DOUBLE;
134 case Types.DECIMAL : return BIGDECIMAL;
135 case Types.NUMERIC : return BIGDECIMAL;
136 case Types.CHAR : return STRING;
137 case Types.VARCHAR : return STRING;
138 case Types.LONGVARCHAR : return STRING;
139 case Types.DATE : return DATE;
140 case Types.TIME : return TIME;
141 case Types.TIMESTAMP : return TIMESTAMP;
142 case Types.BINARY : return BYTEA;
143 case Types.VARBINARY : return BYTEA;
144 case Types.LONGVARBINARY : return BYTEA;
145 case Types.BLOB : return BLOB;
146 case Types.CLOB : return CLOB;
147 case Types.ARRAY : return ARRAY;
148 case Types.REF : return REF;
149 case Types.STRUCT : return STRUCT;
150 case Types.DISTINCT : return STRING;
151 case Types.JAVA_OBJECT : return STRING;
152 case Types.NULL : return STRING;
153 case Types.OTHER : return STRING;
154 default: return -1;
155 }
156 }
157
158
159 }
This page was automatically generated by Maven