001: package org.apache.ojb.tools.mapping.reversedb;
002:
003: /* Copyright 2002-2005 The Apache Software Foundation
004: *
005: * Licensed under the Apache License, Version 2.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: import java.sql.Types;
019:
020: /**
021: *
022: * @author <a href="mailto:bfl@florianbruckner.com">Florian Bruckner</a>
023: * @version $Id: Utilities.java,v 1.1.2.1 2005/12/21 22:32:04 tomdz Exp $
024: */
025:
026: public class Utilities {
027: public static final java.util.Map hmJDBCTypeToName = new java.util.HashMap();
028: public static final java.util.Map mJDBCNameToType = new java.util.TreeMap();
029:
030: public static final java.util.Vector vJDBCTypeNames = new java.util.Vector();
031:
032: public static final java.util.HashMap hmJDBCTypeToJavaType = new java.util.HashMap();
033:
034: public static final java.util.Vector vJavaTypes = new java.util.Vector();
035:
036: static {
037: hmJDBCTypeToName.put(new Integer(Types.ARRAY), "ARRAY");
038: hmJDBCTypeToName.put(new Integer(Types.BIGINT), "BIGINT");
039: hmJDBCTypeToName.put(new Integer(Types.BINARY), "BINARY");
040: hmJDBCTypeToName.put(new Integer(Types.BIT), "BIT");
041: hmJDBCTypeToName.put(new Integer(Types.BLOB), "BLOB");
042: hmJDBCTypeToName.put(new Integer(Types.CHAR), "CHAR");
043: hmJDBCTypeToName.put(new Integer(Types.CLOB), "CLOB");
044: hmJDBCTypeToName.put(new Integer(Types.DATE), "DATE");
045: hmJDBCTypeToName.put(new Integer(Types.DECIMAL), "DECIMAL");
046: hmJDBCTypeToName.put(new Integer(Types.DISTINCT), "DISTINCT");
047: hmJDBCTypeToName.put(new Integer(Types.DOUBLE), "DOUBLE");
048: hmJDBCTypeToName.put(new Integer(Types.FLOAT), "FLOAT");
049: hmJDBCTypeToName.put(new Integer(Types.INTEGER), "INTEGER");
050: hmJDBCTypeToName.put(new Integer(Types.JAVA_OBJECT), "OBJECT");
051: hmJDBCTypeToName.put(new Integer(Types.LONGVARBINARY),
052: "LONGVARBINARY");
053: hmJDBCTypeToName.put(new Integer(Types.LONGVARCHAR),
054: "LONGVARCHAR");
055: hmJDBCTypeToName.put(new Integer(Types.NULL), "NULL");
056: hmJDBCTypeToName.put(new Integer(Types.NUMERIC), "NUMERIC");
057: hmJDBCTypeToName.put(new Integer(Types.OTHER), "OTHER");
058: hmJDBCTypeToName.put(new Integer(Types.REAL), "REAL");
059: hmJDBCTypeToName.put(new Integer(Types.REF), "REF");
060: hmJDBCTypeToName.put(new Integer(Types.SMALLINT), "SMALLINT");
061: hmJDBCTypeToName.put(new Integer(Types.STRUCT), "STRUCT");
062: hmJDBCTypeToName.put(new Integer(Types.TIME), "TIME");
063: hmJDBCTypeToName.put(new Integer(Types.TIMESTAMP), "TIMESTAMP");
064: hmJDBCTypeToName.put(new Integer(Types.TINYINT), "TINYINT");
065: hmJDBCTypeToName.put(new Integer(Types.VARBINARY), "VARBINARY");
066: hmJDBCTypeToName.put(new Integer(Types.VARCHAR), "VARCHAR");
067:
068: // Build a map containing the name to typecode mapping
069: java.util.Iterator it = hmJDBCTypeToName.entrySet().iterator();
070: while (it.hasNext()) {
071: java.util.Map.Entry aEntry = (java.util.Map.Entry) it
072: .next();
073: mJDBCNameToType.put(aEntry.getValue(), aEntry.getKey());
074: }
075:
076: hmJDBCTypeToJavaType.put(new Integer(Types.ARRAY), "Object[]");
077: hmJDBCTypeToJavaType.put(new Integer(Types.BIGINT), "Long");
078: hmJDBCTypeToJavaType.put(new Integer(Types.BINARY), "byte[]");
079: hmJDBCTypeToJavaType.put(new Integer(Types.BIT), "Byte");
080: hmJDBCTypeToJavaType.put(new Integer(Types.BLOB), "byte[]");
081: hmJDBCTypeToJavaType.put(new Integer(Types.CHAR), "String");
082: hmJDBCTypeToJavaType.put(new Integer(Types.CLOB), "String");
083: hmJDBCTypeToJavaType.put(new Integer(Types.DATE),
084: "java.sql.Date");
085: hmJDBCTypeToJavaType.put(new Integer(Types.DECIMAL), "Long");
086: hmJDBCTypeToJavaType.put(new Integer(Types.DISTINCT), "????");
087: hmJDBCTypeToJavaType.put(new Integer(Types.DOUBLE), "Double");
088: hmJDBCTypeToJavaType.put(new Integer(Types.FLOAT), "Double");
089: hmJDBCTypeToJavaType.put(new Integer(Types.INTEGER), "Long");
090: hmJDBCTypeToJavaType.put(new Integer(Types.JAVA_OBJECT),
091: "Object");
092: hmJDBCTypeToJavaType.put(new Integer(Types.LONGVARBINARY),
093: "byte[]");
094: hmJDBCTypeToJavaType.put(new Integer(Types.LONGVARCHAR),
095: "byte[]");
096: hmJDBCTypeToJavaType.put(new Integer(Types.NULL), "Object");
097: hmJDBCTypeToJavaType.put(new Integer(Types.NUMERIC), "Long");
098: hmJDBCTypeToJavaType.put(new Integer(Types.OTHER), "Object");
099: hmJDBCTypeToJavaType.put(new Integer(Types.REAL), "Long");
100: hmJDBCTypeToJavaType.put(new Integer(Types.REF), "Object");
101: hmJDBCTypeToJavaType.put(new Integer(Types.SMALLINT), "Long");
102: hmJDBCTypeToJavaType.put(new Integer(Types.STRUCT), "Object");
103: hmJDBCTypeToJavaType.put(new Integer(Types.TIME),
104: "java.sql.Time");
105: hmJDBCTypeToJavaType.put(new Integer(Types.TIMESTAMP),
106: "java.sql.Timestamp");
107: hmJDBCTypeToJavaType.put(new Integer(Types.TINYINT), "Long");
108: hmJDBCTypeToJavaType
109: .put(new Integer(Types.VARBINARY), "byte[]");
110: hmJDBCTypeToJavaType.put(new Integer(Types.VARCHAR), "String");
111:
112: vJavaTypes.addAll(new java.util.TreeSet(hmJDBCTypeToJavaType
113: .values()));
114: java.util.Collections.sort(vJavaTypes);
115:
116: vJDBCTypeNames.addAll(new java.util.TreeSet(hmJDBCTypeToName
117: .values()));
118: java.util.Collections.sort(vJDBCTypeNames);
119: }
120:
121: /** Creates a new instance of Utilities */
122: private Utilities() {
123: }
124:
125: public static String getTypeNameFromJDBCType(int jdbcType) {
126: return (String) Utilities.hmJDBCTypeToName.get(new Integer(
127: jdbcType));
128: }
129: }
130:
131: /***************************** Changelog *****************************
132: // $Log: Utilities.java,v $
133: // Revision 1.1.2.1 2005/12/21 22:32:04 tomdz
134: // Updated license
135: //
136: // Revision 1.1 2004/05/05 16:39:05 arminw
137: // fix fault
138: // wrong package structure used:
139: // org.apache.ojb.tools.reversdb
140: // org.apache.ojb.tools.reversdb2
141: //
142: // instead of
143: // org.apache.ojb.tools.mapping.reversdb
144: // org.apache.ojb.tools.mapping.reversdb2
145: //
146: // Revision 1.1 2004/05/04 13:45:01 arminw
147: // move reverseDB stuff
148: //
149: // Revision 1.6 2004/04/04 23:53:42 brianm
150: // Fixed initial copyright dates to match cvs repository
151: //
152: // Revision 1.5 2004/03/11 18:16:22 brianm
153: // ASL 2.0
154: //
155: // Revision 1.4 2003/12/12 16:37:16 brj
156: // removed unnecessary casts, semicolons etc.
157: //
158: // Revision 1.3 2003/09/10 06:45:00 mpoeschl
159: // remove duplicated license
160: //
161: // Revision 1.2 2002/06/17 19:34:33 jvanzyl
162: // Correcting all the package references.
163: // PR:
164: // Obtained from:
165: // Submitted by:
166: // Reviewed by:
167: //
168: // Revision 1.1.1.1 2002/06/17 18:16:52 jvanzyl
169: // Initial OJB import
170: //
171: // Revision 1.2 2002/05/16 11:47:09 florianbruckner
172: // fix CR/LF issue, change license to ASL
173: //
174: // Revision 1.1 2002/04/18 11:44:16 mpoeschl
175: //
176: // move files to new location
177: //
178: // Revision 1.3 2002/04/07 09:05:16 thma
179: // *** empty log message ***
180: //
181: // Revision 1.2 2002/03/11 17:36:05 florianbruckner
182: // fix line break issue for these files that were previously checked in with -kb
183: //
184: // Revision 1.1 2002/03/04 17:19:32 thma
185: // initial checking for Florians Reverse engineering tool
186: //
187: // Revision 1.1.1.1 2002/02/20 13:35:25 Administrator
188: // initial import
189: //
190: /***************************** Changelog *****************************/
|