Coverage report

  %line %branch
org.apache.torque.engine.database.model.TypeMap
0% 
0% 

 1  
 package org.apache.torque.engine.database.model;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2004 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License")
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *     http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import java.util.Hashtable;
 20  
 import java.sql.Types;
 21  
 
 22  
 // I don't know if the peer system deals
 23  
 // with the recommended mappings.
 24  
 //
 25  
 //import java.sql.Date;
 26  
 //import java.sql.Time;
 27  
 //import java.sql.Timestamp;
 28  
 
 29  
 /**
 30  
  * A class that maps JDBC types to their corresponding
 31  
  * Java object types, and Java native types. Used
 32  
  * by Column.java to perform object/native mappings.
 33  
  *
 34  
  * These are the official SQL type to Java type mappings.
 35  
  * These don't quite correspond to the way the peer
 36  
  * system works so we'll have to make some adjustments.
 37  
  * <pre>
 38  
  * -------------------------------------------------------
 39  
  * SQL Type      | Java Type            | Peer Type
 40  
  * -------------------------------------------------------
 41  
  * CHAR          | String               | String
 42  
  * VARCHAR       | String               | String
 43  
  * LONGVARCHAR   | String               | String
 44  
  * NUMERIC       | java.math.BigDecimal | java.math.BigDecimal
 45  
  * DECIMAL       | java.math.BigDecimal | java.math.BigDecimal
 46  
  * BIT           | boolean OR Boolean   | Boolean
 47  
  * TINYINT       | byte OR Byte         | Byte
 48  
  * SMALLINT      | short OR Short       | Short
 49  
  * INTEGER       | int OR Integer       | Integer
 50  
  * BIGINT        | long OR Long         | Long
 51  
  * REAL          | float OR Float       | Float
 52  
  * FLOAT         | double OR Double     | Double
 53  
  * DOUBLE        | double OR Double     | Double
 54  
  * BINARY        | byte[]               | ?
 55  
  * VARBINARY     | byte[]               | ?
 56  
  * LONGVARBINARY | byte[]               | ?
 57  
  * DATE          | java.sql.Date        | java.util.Date
 58  
  * TIME          | java.sql.Time        | java.util.Date
 59  
  * TIMESTAMP     | java.sql.Timestamp   | java.util.Date
 60  
  *
 61  
  * -------------------------------------------------------
 62  
  * A couple variations have been introduced to cover cases
 63  
  * that may arise, but are not covered above
 64  
  * BOOLEANCHAR   | boolean OR Boolean   | String
 65  
  * BOOLEANINT    | boolean OR Boolean   | Integer
 66  
  * </pre>
 67  
  *
 68  
  * @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
 69  
  * @version $Id: TypeMap.java,v 1.2.2.4 2004/08/26 05:16:03 seade Exp $
 70  
  */
 71  0
 public class TypeMap
 72  
 {
 73  
     public static final String CHAR = "CHAR";
 74  
     public static final String VARCHAR = "VARCHAR";
 75  
     public static final String LONGVARCHAR = "LONGVARCHAR";
 76  
     public static final String CLOB = "CLOB";
 77  
     public static final String NUMERIC = "NUMERIC";
 78  
     public static final String DECIMAL = "DECIMAL";
 79  
     public static final String BIT = "BIT";
 80  
     public static final String TINYINT = "TINYINT";
 81  
     public static final String SMALLINT = "SMALLINT";
 82  
     public static final String INTEGER = "INTEGER";
 83  
     public static final String BIGINT = "BIGINT";
 84  
     public static final String REAL = "REAL";
 85  
     public static final String FLOAT = "FLOAT";
 86  
     public static final String DOUBLE = "DOUBLE";
 87  
     public static final String BINARY = "BINARY";
 88  
     public static final String VARBINARY = "VARBINARY";
 89  
     public static final String LONGVARBINARY = "LONGVARBINARY";
 90  
     public static final String BLOB = "BLOB";
 91  
     public static final String DATE = "DATE";
 92  
     public static final String TIME = "TIME";
 93  
     public static final String TIMESTAMP = "TIMESTAMP";
 94  
     public static final String BOOLEANCHAR = "BOOLEANCHAR";
 95  
     public static final String BOOLEANINT = "BOOLEANINT";
 96  0
     private static final String[] TEXT_TYPES =
 97  
     {
 98  
         CHAR, VARCHAR, LONGVARCHAR, CLOB, DATE, TIME, TIMESTAMP, BOOLEANCHAR
 99  
     };
 100  
 
 101  
     public static final String CHAR_OBJECT_TYPE = "\"\"";
 102  
     public static final String VARCHAR_OBJECT_TYPE = "\"\"";
 103  
     public static final String LONGVARCHAR_OBJECT_TYPE = "\"\"";
 104  
     public static final String CLOB_OBJECT_TYPE = "\"\"";
 105  
     public static final String NUMERIC_OBJECT_TYPE = "new BigDecimal(0)";
 106  
     public static final String DECIMAL_OBJECT_TYPE = "new BigDecimal(0)";
 107  
     public static final String BIT_OBJECT_TYPE = "Boolean.TRUE";
 108  
     public static final String TINYINT_OBJECT_TYPE = "new Byte((byte)0)";
 109  
     public static final String SMALLINT_OBJECT_TYPE = "new Short((short)0)";
 110  
     public static final String INTEGER_OBJECT_TYPE = "new Integer(0)";
 111  
     public static final String BIGINT_OBJECT_TYPE = "new Long(0)";
 112  
     public static final String REAL_OBJECT_TYPE = "new Float(0)";
 113  
     public static final String FLOAT_OBJECT_TYPE = "new Double(0)";
 114  
     public static final String DOUBLE_OBJECT_TYPE = "new Double(0)";
 115  
     public static final String BINARY_OBJECT_TYPE = "new Object()"; //?
 116  
     public static final String VARBINARY_OBJECT_TYPE = "new Object()"; //?
 117  
     public static final String LONGVARBINARY_OBJECT_TYPE = "new Object()"; //?
 118  
     public static final String BLOB_OBJECT_TYPE = "new Object()"; //?
 119  
     public static final String DATE_OBJECT_TYPE = "new Date()";
 120  
     public static final String TIME_OBJECT_TYPE = "new Date()";
 121  
     public static final String TIMESTAMP_OBJECT_TYPE = "new Date()";
 122  
     public static final String BOOLEANCHAR_OBJECT_TYPE = "\"\"";
 123  
     public static final String BOOLEANINT_OBJECT_TYPE = "new Integer(0)";
 124  
 
 125  
     public static final String CHAR_NATIVE_TYPE = "String";
 126  
     public static final String VARCHAR_NATIVE_TYPE = "String";
 127  
     public static final String LONGVARCHAR_NATIVE_TYPE = "String";
 128  
     public static final String CLOB_NATIVE_TYPE = "String";
 129  
     public static final String NUMERIC_NATIVE_TYPE = "BigDecimal";
 130  
     public static final String DECIMAL_NATIVE_TYPE = "BigDecimal";
 131  
     public static final String BIT_NATIVE_TYPE = "boolean";
 132  
     public static final String TINYINT_NATIVE_TYPE = "byte";
 133  
     public static final String SMALLINT_NATIVE_TYPE = "short";
 134  
     public static final String INTEGER_NATIVE_TYPE = "int";
 135  
     public static final String BIGINT_NATIVE_TYPE = "long";
 136  
     public static final String REAL_NATIVE_TYPE = "float";
 137  
     public static final String FLOAT_NATIVE_TYPE = "double";
 138  
     public static final String DOUBLE_NATIVE_TYPE = "double";
 139  
     public static final String BINARY_NATIVE_TYPE = "byte[]";
 140  
     public static final String VARBINARY_NATIVE_TYPE = "byte[]";
 141  
     public static final String LONGVARBINARY_NATIVE_TYPE = "byte[]";
 142  
     public static final String BLOB_NATIVE_TYPE = "byte[]";
 143  
     public static final String DATE_NATIVE_TYPE = "Date";
 144  
     public static final String TIME_NATIVE_TYPE = "Date";
 145  
     public static final String TIMESTAMP_NATIVE_TYPE = "Date";
 146  
     public static final String BOOLEANCHAR_NATIVE_TYPE = "boolean";
 147  
     public static final String BOOLEANINT_NATIVE_TYPE = "boolean";
 148  
 
 149  
     public static final String BIT_NATIVE_OBJECT_TYPE = "Boolean";
 150  
     public static final String TINYINT_NATIVE_OBJECT_TYPE = "Byte";
 151  
     public static final String SMALLINT_NATIVE_OBJECT_TYPE = "Short";
 152  
     public static final String INTEGER_NATIVE_OBJECT_TYPE = "Integer";
 153  
     public static final String BIGINT_NATIVE_OBJECT_TYPE = "Long";
 154  
     public static final String REAL_NATIVE_OBJECT_TYPE = "Float";
 155  
     public static final String FLOAT_NATIVE_OBJECT_TYPE = "Double";
 156  
     public static final String DOUBLE_NATIVE_OBJECT_TYPE = "Double";
 157  
     public static final String BOOLEANCHAR_NATIVE_OBJECT_TYPE = "Boolean";
 158  
     public static final String BOOLEANINT_NATIVE_OBJECT_TYPE = "Boolean";
 159  
 
 160  
     public static final String CHAR_VILLAGE_METHOD = "asString()";
 161  
     public static final String VARCHAR_VILLAGE_METHOD = "asString()";
 162  
     public static final String LONGVARCHAR_VILLAGE_METHOD = "asString()";
 163  
     public static final String CLOB_VILLAGE_METHOD = "asString()";
 164  
     public static final String NUMERIC_VILLAGE_METHOD = "asBigDecimal()";
 165  
     public static final String DECIMAL_VILLAGE_METHOD = "asBigDecimal()";
 166  
     public static final String BIT_VILLAGE_METHOD = "asBoolean()";
 167  
     public static final String TINYINT_VILLAGE_METHOD = "asByte()";
 168  
     public static final String SMALLINT_VILLAGE_METHOD = "asShort()";
 169  
     public static final String INTEGER_VILLAGE_METHOD = "asInt()";
 170  
     public static final String BIGINT_VILLAGE_METHOD = "asLong()";
 171  
     public static final String REAL_VILLAGE_METHOD = "asFloat()";
 172  
     public static final String FLOAT_VILLAGE_METHOD = "asDouble()";
 173  
     public static final String DOUBLE_VILLAGE_METHOD = "asDouble()";
 174  
     public static final String BINARY_VILLAGE_METHOD = "asBytes()";
 175  
     public static final String VARBINARY_VILLAGE_METHOD = "asBytes()";
 176  
     public static final String LONGVARBINARY_VILLAGE_METHOD = "asBytes()";
 177  
     public static final String BLOB_VILLAGE_METHOD = "asBytes()";
 178  
     public static final String DATE_VILLAGE_METHOD = "asUtilDate()";
 179  
     public static final String TIME_VILLAGE_METHOD = "asUtilDate()";
 180  
     public static final String TIMESTAMP_VILLAGE_METHOD = "asUtilDate()";
 181  
     public static final String BOOLEANCHAR_VILLAGE_METHOD = "asBoolean()";
 182  
     public static final String BOOLEANINT_VILLAGE_METHOD = "asBoolean()";
 183  
 
 184  
     public static final String BIT_VILLAGE_OBJECT_METHOD = "asBooleanObj()";
 185  
     public static final String TINYINT_VILLAGE_OBJECT_METHOD = "asByteObj()";
 186  
     public static final String SMALLINT_VILLAGE_OBJECT_METHOD = "asShortObj()";
 187  
     public static final String INTEGER_VILLAGE_OBJECT_METHOD = "asIntegerObj()";
 188  
     public static final String BIGINT_VILLAGE_OBJECT_METHOD = "asLongObj()";
 189  
     public static final String REAL_VILLAGE_OBJECT_METHOD = "asFloatObj()";
 190  
     public static final String FLOAT_VILLAGE_OBJECT_METHOD = "asDoubleObj()";
 191  
     public static final String DOUBLE_VILLAGE_OBJECT_METHOD = "asDoubleObj()";
 192  
     public static final String BOOLEANCHAR_VILLAGE_OBJECT_METHOD = "asBooleanObj()";
 193  
     public static final String BOOLEANINT_VILLAGE_OBJECT_METHOD = "asBooleanObj()";
 194  
 
 195  
     public static final String CHAR_PP_METHOD = "getString(ppKey)";
 196  
     public static final String VARCHAR_PP_METHOD = "getString(ppKey)";
 197  
     public static final String LONGVARCHAR_PP_METHOD = "getString(ppKey)";
 198  
     public static final String NUMERIC_PP_METHOD = "getBigDecimal(ppKey)";
 199  
     public static final String DECIMAL_PP_METHOD = "getBigDecimal(ppKey)";
 200  
     public static final String BIT_PP_METHOD = "getBoolean(ppKey)";
 201  
     public static final String TINYINT_PP_METHOD = "getByte(ppKey)";
 202  
     public static final String SMALLINT_PP_METHOD = "getShort(ppKey)";
 203  
     public static final String INTEGER_PP_METHOD = "getInt(ppKey)";
 204  
     public static final String BIGINT_PP_METHOD = "getLong(ppKey)";
 205  
     public static final String REAL_PP_METHOD = "getFloat(ppKey)";
 206  
     public static final String FLOAT_PP_METHOD = "getDouble(ppKey)";
 207  
     public static final String DOUBLE_PP_METHOD = "getDouble(ppKey)";
 208  
     public static final String BINARY_PP_METHOD = "getBytes(ppKey)";
 209  
     public static final String VARBINARY_PP_METHOD = "getBytes(ppKey)";
 210  
     public static final String LONGVARBINARY_PP_METHOD = "getBytes(ppKey)";
 211  
     public static final String DATE_PP_METHOD = "getDate(ppKey)";
 212  
     public static final String TIME_PP_METHOD = "getDate(ppKey)";
 213  
     public static final String TIMESTAMP_PP_METHOD = "getDate(ppKey)";
 214  
     public static final String BOOLEANCHAR_PP_METHOD = "getBoolean(ppKey)";
 215  
     public static final String BOOLEANINT_PP_METHOD = "getBoolean(ppKey)";
 216  
 
 217  0
     private static Hashtable jdbcToJavaObjectMap = null;
 218  0
     private static Hashtable jdbcToJavaNativeMap = null;
 219  0
     private static Hashtable jdbcToJavaNativeObjectMap = null;
 220  0
     private static Hashtable jdbcToVillageMethodMap = null;
 221  0
     private static Hashtable jdbcToVillageObjectMethodMap = null;
 222  0
     private static Hashtable jdbcToPPMethodMap = null;
 223  0
     private static Hashtable torqueTypeToJdbcTypeMap = null;
 224  0
     private static Hashtable jdbcToTorqueTypeMap = null;
 225  0
     private static boolean isInitialized = false;
 226  
 
 227  
     /**
 228  
      * Initializes the SQL to Java map so that it
 229  
      * can be used by client code.
 230  
      */
 231  
     public synchronized static void initialize()
 232  
     {
 233  0
         if (!isInitialized)
 234  
         {
 235  
             /*
 236  
              * Create JDBC -> Java object mappings.
 237  
              */
 238  
 
 239  0
             jdbcToJavaObjectMap = new Hashtable();
 240  
 
 241  0
             jdbcToJavaObjectMap.put(CHAR, CHAR_OBJECT_TYPE);
 242  0
             jdbcToJavaObjectMap.put(VARCHAR, VARCHAR_OBJECT_TYPE);
 243  0
             jdbcToJavaObjectMap.put(LONGVARCHAR, LONGVARCHAR_OBJECT_TYPE);
 244  0
             jdbcToJavaObjectMap.put(CLOB, CLOB_OBJECT_TYPE);
 245  0
             jdbcToJavaObjectMap.put(NUMERIC, NUMERIC_OBJECT_TYPE);
 246  0
             jdbcToJavaObjectMap.put(DECIMAL, DECIMAL_OBJECT_TYPE);
 247  0
             jdbcToJavaObjectMap.put(BIT, BIT_OBJECT_TYPE);
 248  0
             jdbcToJavaObjectMap.put(TINYINT, TINYINT_OBJECT_TYPE);
 249  0
             jdbcToJavaObjectMap.put(SMALLINT, SMALLINT_OBJECT_TYPE);
 250  0
             jdbcToJavaObjectMap.put(INTEGER, INTEGER_OBJECT_TYPE);
 251  0
             jdbcToJavaObjectMap.put(BIGINT, BIGINT_OBJECT_TYPE);
 252  0
             jdbcToJavaObjectMap.put(REAL, REAL_OBJECT_TYPE);
 253  0
             jdbcToJavaObjectMap.put(FLOAT, FLOAT_OBJECT_TYPE);
 254  0
             jdbcToJavaObjectMap.put(DOUBLE, DOUBLE_OBJECT_TYPE);
 255  0
             jdbcToJavaObjectMap.put(BINARY, BINARY_OBJECT_TYPE);
 256  0
             jdbcToJavaObjectMap.put(VARBINARY, VARBINARY_OBJECT_TYPE);
 257  0
             jdbcToJavaObjectMap.put(LONGVARBINARY, LONGVARBINARY_OBJECT_TYPE);
 258  0
             jdbcToJavaObjectMap.put(BLOB, BLOB_OBJECT_TYPE);
 259  0
             jdbcToJavaObjectMap.put(DATE, DATE_OBJECT_TYPE);
 260  0
             jdbcToJavaObjectMap.put(TIME, TIME_OBJECT_TYPE);
 261  0
             jdbcToJavaObjectMap.put(TIMESTAMP, TIMESTAMP_OBJECT_TYPE);
 262  0
             jdbcToJavaObjectMap.put(BOOLEANCHAR, BOOLEANCHAR_OBJECT_TYPE);
 263  0
             jdbcToJavaObjectMap.put(BOOLEANINT, BOOLEANINT_OBJECT_TYPE);
 264  
 
 265  
             /*
 266  
              * Create JDBC -> native Java type mappings.
 267  
              */
 268  
 
 269  0
             jdbcToJavaNativeMap = new Hashtable();
 270  
 
 271  0
             jdbcToJavaNativeMap.put(CHAR, CHAR_NATIVE_TYPE);
 272  0
             jdbcToJavaNativeMap.put(VARCHAR, VARCHAR_NATIVE_TYPE);
 273  0
             jdbcToJavaNativeMap.put(LONGVARCHAR, LONGVARCHAR_NATIVE_TYPE);
 274  0
             jdbcToJavaNativeMap.put(CLOB, CLOB_NATIVE_TYPE);
 275  0
             jdbcToJavaNativeMap.put(NUMERIC, NUMERIC_NATIVE_TYPE);
 276  0
             jdbcToJavaNativeMap.put(DECIMAL, DECIMAL_NATIVE_TYPE);
 277  0
             jdbcToJavaNativeMap.put(BIT, BIT_NATIVE_TYPE);
 278  0
             jdbcToJavaNativeMap.put(TINYINT, TINYINT_NATIVE_TYPE);
 279  0
             jdbcToJavaNativeMap.put(SMALLINT, SMALLINT_NATIVE_TYPE);
 280  0
             jdbcToJavaNativeMap.put(INTEGER, INTEGER_NATIVE_TYPE);
 281  0
             jdbcToJavaNativeMap.put(BIGINT, BIGINT_NATIVE_TYPE);
 282  0
             jdbcToJavaNativeMap.put(REAL, REAL_NATIVE_TYPE);
 283  0
             jdbcToJavaNativeMap.put(FLOAT, FLOAT_NATIVE_TYPE);
 284  0
             jdbcToJavaNativeMap.put(DOUBLE, DOUBLE_NATIVE_TYPE);
 285  0
             jdbcToJavaNativeMap.put(BINARY, BINARY_NATIVE_TYPE);
 286  0
             jdbcToJavaNativeMap.put(VARBINARY, VARBINARY_NATIVE_TYPE);
 287  0
             jdbcToJavaNativeMap.put(LONGVARBINARY, LONGVARBINARY_NATIVE_TYPE);
 288  0
             jdbcToJavaNativeMap.put(BLOB, BLOB_NATIVE_TYPE);
 289  0
             jdbcToJavaNativeMap.put(DATE, DATE_NATIVE_TYPE);
 290  0
             jdbcToJavaNativeMap.put(TIME, TIME_NATIVE_TYPE);
 291  0
             jdbcToJavaNativeMap.put(TIMESTAMP, TIMESTAMP_NATIVE_TYPE);
 292  0
             jdbcToJavaNativeMap.put(BOOLEANCHAR, BOOLEANCHAR_NATIVE_TYPE);
 293  0
             jdbcToJavaNativeMap.put(BOOLEANINT, BOOLEANINT_NATIVE_TYPE);
 294  
 
 295  0
             jdbcToJavaNativeObjectMap = new Hashtable();
 296  0
             jdbcToJavaNativeObjectMap.put(BIT, BIT_NATIVE_OBJECT_TYPE);
 297  0
             jdbcToJavaNativeObjectMap.put(TINYINT, TINYINT_NATIVE_OBJECT_TYPE);
 298  0
             jdbcToJavaNativeObjectMap.put(SMALLINT, SMALLINT_NATIVE_OBJECT_TYPE);
 299  0
             jdbcToJavaNativeObjectMap.put(INTEGER, INTEGER_NATIVE_OBJECT_TYPE);
 300  0
             jdbcToJavaNativeObjectMap.put(BIGINT, BIGINT_NATIVE_OBJECT_TYPE);
 301  0
             jdbcToJavaNativeObjectMap.put(REAL, REAL_NATIVE_OBJECT_TYPE);
 302  0
             jdbcToJavaNativeObjectMap.put(FLOAT, FLOAT_NATIVE_OBJECT_TYPE);
 303  0
             jdbcToJavaNativeObjectMap.put(DOUBLE, DOUBLE_NATIVE_OBJECT_TYPE);
 304  0
             jdbcToJavaNativeObjectMap.put(BOOLEANCHAR,
 305  
                                           BOOLEANCHAR_NATIVE_OBJECT_TYPE);
 306  0
             jdbcToJavaNativeObjectMap.put(BOOLEANINT,
 307  
                                           BOOLEANINT_NATIVE_OBJECT_TYPE);
 308  
 
 309  
             /*
 310  
              * Create JDBC -> Village asX() mappings.
 311  
              */
 312  
 
 313  0
             jdbcToVillageMethodMap = new Hashtable();
 314  
 
 315  0
             jdbcToVillageMethodMap.put(CHAR, CHAR_VILLAGE_METHOD);
 316  0
             jdbcToVillageMethodMap.put(VARCHAR, VARCHAR_VILLAGE_METHOD);
 317  0
             jdbcToVillageMethodMap.put(LONGVARCHAR, LONGVARCHAR_VILLAGE_METHOD);
 318  0
             jdbcToVillageMethodMap.put(CLOB, CLOB_VILLAGE_METHOD);
 319  0
             jdbcToVillageMethodMap.put(NUMERIC, NUMERIC_VILLAGE_METHOD);
 320  0
             jdbcToVillageMethodMap.put(DECIMAL, DECIMAL_VILLAGE_METHOD);
 321  0
             jdbcToVillageMethodMap.put(BIT, BIT_VILLAGE_METHOD);
 322  0
             jdbcToVillageMethodMap.put(TINYINT, TINYINT_VILLAGE_METHOD);
 323  0
             jdbcToVillageMethodMap.put(SMALLINT, SMALLINT_VILLAGE_METHOD);
 324  0
             jdbcToVillageMethodMap.put(INTEGER, INTEGER_VILLAGE_METHOD);
 325  0
             jdbcToVillageMethodMap.put(BIGINT, BIGINT_VILLAGE_METHOD);
 326  0
             jdbcToVillageMethodMap.put(REAL, REAL_VILLAGE_METHOD);
 327  0
             jdbcToVillageMethodMap.put(FLOAT, FLOAT_VILLAGE_METHOD);
 328  0
             jdbcToVillageMethodMap.put(DOUBLE, DOUBLE_VILLAGE_METHOD);
 329  0
             jdbcToVillageMethodMap.put(BINARY, BINARY_VILLAGE_METHOD);
 330  0
             jdbcToVillageMethodMap.put(VARBINARY, VARBINARY_VILLAGE_METHOD);
 331  0
             jdbcToVillageMethodMap.put(LONGVARBINARY, LONGVARBINARY_VILLAGE_METHOD);
 332  0
             jdbcToVillageMethodMap.put(BLOB, BLOB_VILLAGE_METHOD);
 333  0
             jdbcToVillageMethodMap.put(DATE, DATE_VILLAGE_METHOD);
 334  0
             jdbcToVillageMethodMap.put(TIME, TIME_VILLAGE_METHOD);
 335  0
             jdbcToVillageMethodMap.put(TIMESTAMP, TIMESTAMP_VILLAGE_METHOD);
 336  0
             jdbcToVillageMethodMap.put(BOOLEANCHAR, BOOLEANCHAR_VILLAGE_METHOD);
 337  0
             jdbcToVillageMethodMap.put(BOOLEANINT, BOOLEANINT_VILLAGE_METHOD);
 338  
 
 339  
 
 340  0
             jdbcToVillageObjectMethodMap = new Hashtable();
 341  0
             jdbcToVillageObjectMethodMap.put(BIT, BIT_VILLAGE_OBJECT_METHOD);
 342  0
             jdbcToVillageObjectMethodMap.put(TINYINT,
 343  
                                              TINYINT_VILLAGE_OBJECT_METHOD);
 344  0
             jdbcToVillageObjectMethodMap.put(SMALLINT,
 345  
                                              SMALLINT_VILLAGE_OBJECT_METHOD);
 346  0
             jdbcToVillageObjectMethodMap.put(INTEGER,
 347  
                                              INTEGER_VILLAGE_OBJECT_METHOD);
 348  0
             jdbcToVillageObjectMethodMap.put(BIGINT,
 349  
                                              BIGINT_VILLAGE_OBJECT_METHOD);
 350  0
             jdbcToVillageObjectMethodMap.put(REAL, REAL_VILLAGE_OBJECT_METHOD);
 351  0
             jdbcToVillageObjectMethodMap.put(FLOAT, FLOAT_VILLAGE_OBJECT_METHOD);
 352  0
             jdbcToVillageObjectMethodMap.put(DOUBLE,
 353  
                                              DOUBLE_VILLAGE_OBJECT_METHOD);
 354  0
             jdbcToVillageObjectMethodMap.put(BOOLEANCHAR,
 355  
                                              BOOLEANCHAR_VILLAGE_OBJECT_METHOD);
 356  0
             jdbcToVillageObjectMethodMap.put(BOOLEANINT,
 357  
                                              BOOLEANINT_VILLAGE_OBJECT_METHOD);
 358  
 
 359  
             /*
 360  
              * Create JDBC -> ParameterParser getX() mappings.
 361  
              */
 362  
 
 363  0
             jdbcToPPMethodMap = new Hashtable();
 364  
 
 365  0
             jdbcToPPMethodMap.put(CHAR, CHAR_PP_METHOD);
 366  0
             jdbcToPPMethodMap.put(VARCHAR, VARCHAR_PP_METHOD);
 367  0
             jdbcToPPMethodMap.put(LONGVARCHAR, LONGVARCHAR_PP_METHOD);
 368  0
             jdbcToPPMethodMap.put(NUMERIC, NUMERIC_PP_METHOD);
 369  0
             jdbcToPPMethodMap.put(DECIMAL, DECIMAL_PP_METHOD);
 370  0
             jdbcToPPMethodMap.put(BIT, BIT_PP_METHOD);
 371  0
             jdbcToPPMethodMap.put(TINYINT, TINYINT_PP_METHOD);
 372  0
             jdbcToPPMethodMap.put(SMALLINT, SMALLINT_PP_METHOD);
 373  0
             jdbcToPPMethodMap.put(INTEGER, INTEGER_PP_METHOD);
 374  0
             jdbcToPPMethodMap.put(BIGINT, BIGINT_PP_METHOD);
 375  0
             jdbcToPPMethodMap.put(REAL, REAL_PP_METHOD);
 376  0
             jdbcToPPMethodMap.put(FLOAT, FLOAT_PP_METHOD);
 377  0
             jdbcToPPMethodMap.put(DOUBLE, DOUBLE_PP_METHOD);
 378  0
             jdbcToPPMethodMap.put(BINARY, BINARY_PP_METHOD);
 379  0
             jdbcToPPMethodMap.put(VARBINARY, VARBINARY_PP_METHOD);
 380  0
             jdbcToPPMethodMap.put(LONGVARBINARY, LONGVARBINARY_PP_METHOD);
 381  0
             jdbcToPPMethodMap.put(DATE, DATE_PP_METHOD);
 382  0
             jdbcToPPMethodMap.put(TIME, TIME_PP_METHOD);
 383  0
             jdbcToPPMethodMap.put(TIMESTAMP, TIMESTAMP_PP_METHOD);
 384  0
             jdbcToPPMethodMap.put(BOOLEANCHAR, BOOLEANCHAR_PP_METHOD);
 385  0
             jdbcToPPMethodMap.put(BOOLEANINT, BOOLEANINT_PP_METHOD);
 386  
 
 387  
             /*
 388  
              * Create JDBC -> Java object mappings.
 389  
              */
 390  
 
 391  0
             torqueTypeToJdbcTypeMap = new Hashtable();
 392  
 
 393  0
             torqueTypeToJdbcTypeMap.put(CHAR, CHAR);
 394  0
             torqueTypeToJdbcTypeMap.put(VARCHAR, VARCHAR);
 395  0
             torqueTypeToJdbcTypeMap.put(LONGVARCHAR, LONGVARCHAR);
 396  0
             torqueTypeToJdbcTypeMap.put(CLOB, CLOB);
 397  0
             torqueTypeToJdbcTypeMap.put(NUMERIC, NUMERIC);
 398  0
             torqueTypeToJdbcTypeMap.put(DECIMAL, DECIMAL);
 399  0
             torqueTypeToJdbcTypeMap.put(BIT, BIT);
 400  0
             torqueTypeToJdbcTypeMap.put(TINYINT, TINYINT);
 401  0
             torqueTypeToJdbcTypeMap.put(SMALLINT, SMALLINT);
 402  0
             torqueTypeToJdbcTypeMap.put(INTEGER, INTEGER);
 403  0
             torqueTypeToJdbcTypeMap.put(BIGINT, BIGINT);
 404  0
             torqueTypeToJdbcTypeMap.put(REAL, REAL);
 405  0
             torqueTypeToJdbcTypeMap.put(FLOAT, FLOAT);
 406  0
             torqueTypeToJdbcTypeMap.put(DOUBLE, DOUBLE);
 407  0
             torqueTypeToJdbcTypeMap.put(BINARY, BINARY);
 408  0
             torqueTypeToJdbcTypeMap.put(VARBINARY, VARBINARY);
 409  0
             torqueTypeToJdbcTypeMap.put(LONGVARBINARY, LONGVARBINARY);
 410  0
             torqueTypeToJdbcTypeMap.put(BLOB, BLOB);
 411  0
             torqueTypeToJdbcTypeMap.put(DATE, DATE);
 412  0
             torqueTypeToJdbcTypeMap.put(TIME, TIME);
 413  0
             torqueTypeToJdbcTypeMap.put(TIMESTAMP, TIMESTAMP);
 414  0
             torqueTypeToJdbcTypeMap.put(BOOLEANCHAR, CHAR);
 415  0
             torqueTypeToJdbcTypeMap.put(BOOLEANINT, INTEGER);
 416  
 
 417  
             /*
 418  
              * Create JDBC type code to torque type map.
 419  
              */
 420  0
             jdbcToTorqueTypeMap = new Hashtable();
 421  
 
 422  0
             jdbcToTorqueTypeMap.put(new Integer(Types.CHAR), CHAR);
 423  0
             jdbcToTorqueTypeMap.put(new Integer(Types.VARCHAR), VARCHAR);
 424  0
             jdbcToTorqueTypeMap.put(new Integer(Types.LONGVARCHAR), LONGVARCHAR);
 425  0
             jdbcToTorqueTypeMap.put(new Integer(Types.CLOB), CLOB);
 426  0
             jdbcToTorqueTypeMap.put(new Integer(Types.NUMERIC), NUMERIC);
 427  0
             jdbcToTorqueTypeMap.put(new Integer(Types.DECIMAL), DECIMAL);
 428  0
             jdbcToTorqueTypeMap.put(new Integer(Types.BIT), BIT);
 429  0
             jdbcToTorqueTypeMap.put(new Integer(Types.TINYINT), TINYINT);
 430  0
             jdbcToTorqueTypeMap.put(new Integer(Types.SMALLINT), SMALLINT);
 431  0
             jdbcToTorqueTypeMap.put(new Integer(Types.INTEGER), INTEGER);
 432  0
             jdbcToTorqueTypeMap.put(new Integer(Types.BIGINT), BIGINT);
 433  0
             jdbcToTorqueTypeMap.put(new Integer(Types.REAL), REAL);
 434  0
             jdbcToTorqueTypeMap.put(new Integer(Types.FLOAT), FLOAT);
 435  0
             jdbcToTorqueTypeMap.put(new Integer(Types.DOUBLE), DOUBLE);
 436  0
             jdbcToTorqueTypeMap.put(new Integer(Types.BINARY), BINARY);
 437  0
             jdbcToTorqueTypeMap.put(new Integer(Types.VARBINARY), VARBINARY);
 438  0
             jdbcToTorqueTypeMap.put(new Integer(Types.LONGVARBINARY), LONGVARBINARY);
 439  0
             jdbcToTorqueTypeMap.put(new Integer(Types.BLOB), BLOB);
 440  0
             jdbcToTorqueTypeMap.put(new Integer(Types.DATE), DATE);
 441  0
             jdbcToTorqueTypeMap.put(new Integer(Types.TIME), TIME);
 442  0
             jdbcToTorqueTypeMap.put(new Integer(Types.TIMESTAMP), TIMESTAMP);
 443  
 
 444  0
             isInitialized = true;
 445  
         }
 446  0
     }
 447  
 
 448  
     /**
 449  
      * Report whether this object has been initialized.
 450  
      *
 451  
      * @return true if this object has been initialized
 452  
      */
 453  
     public static boolean isInitialized()
 454  
     {
 455  0
         return isInitialized;
 456  
     }
 457  
 
 458  
     /**
 459  
      * Return a Java object which corresponds to the
 460  
      * JDBC type provided. Use in MapBuilder generation.
 461  
      *
 462  
      * @param jdbcType the JDBC type
 463  
      * @return name of the Object
 464  
      */
 465  
     public static String getJavaObject(String jdbcType)
 466  
     {
 467  
         // Make sure the we are initialized.
 468  0
         if (!isInitialized)
 469  
         {
 470  0
             initialize();
 471  
         }
 472  0
         return (String) jdbcToJavaObjectMap.get(jdbcType);
 473  
     }
 474  
 
 475  
     /**
 476  
      * Return native java type which corresponds to the
 477  
      * JDBC type provided. Use in the base object class generation.
 478  
      *
 479  
      * @param jdbcType the JDBC type
 480  
      * @return name of the native java type
 481  
      */
 482  
     public static String getJavaNative(String jdbcType)
 483  
     {
 484  
         // Make sure the we are initialized.
 485  0
         if (!isInitialized)
 486  
         {
 487  0
             initialize();
 488  
         }
 489  0
         return (String) jdbcToJavaNativeMap.get(jdbcType);
 490  
     }
 491  
 
 492  
     /**
 493  
      * Return native java type which corresponds to the
 494  
      * JDBC type provided. Use in the base object class generation.
 495  
      *
 496  
      * @param jdbcType the JDBC type
 497  
      * @return name of the Object
 498  
      */
 499  
     public static String getJavaNativeObject(String jdbcType)
 500  
     {
 501  
         // Make sure the we are initialized.
 502  0
         if (!isInitialized)
 503  
         {
 504  0
             initialize();
 505  
         }
 506  0
         String s = (String) jdbcToJavaNativeObjectMap.get(jdbcType);
 507  0
         if (s == null)
 508  
         {
 509  0
             s = (String) jdbcToJavaNativeMap.get(jdbcType);
 510  
         }
 511  0
         return s;
 512  
     }
 513  
 
 514  
     /**
 515  
      * Return Village asX() method which corresponds to the
 516  
      * JDBC type provided. Use in the Peer class generation.
 517  
      *
 518  
      * @param jdbcType the JDBC type
 519  
      * @return name of the Village asX() method
 520  
      */
 521  
     public static String getVillageMethod(String jdbcType)
 522  
     {
 523  
         // Make sure the we are initialized.
 524  0
         if (!isInitialized)
 525  
         {
 526  0
             initialize();
 527  
         }
 528  0
         return (String) jdbcToVillageMethodMap.get(jdbcType);
 529  
     }
 530  
 
 531  
     /**
 532  
      * Return Village asX() method which corresponds to the
 533  
      * JDBC type provided. Use in the Peer class generation.
 534  
      *
 535  
      * @param jdbcType the JDBC type
 536  
      * @return name of the Village asX() method
 537  
      */
 538  
     public static String getVillageObjectMethod(String jdbcType)
 539  
     {
 540  
         // Make sure the we are initialized.
 541  0
         if (!isInitialized)
 542  
         {
 543  0
             initialize();
 544  
         }
 545  0
         String s = (String) jdbcToVillageObjectMethodMap.get(jdbcType);
 546  0
         if (s == null)
 547  
         {
 548  0
             s = (String) jdbcToVillageMethodMap.get(jdbcType);
 549  
         }
 550  0
         return s;
 551  
     }
 552  
 
 553  
     /**
 554  
      * Return ParameterParser getX() method which corresponds to the
 555  
      * JDBC type provided. Use in the Object class generation.
 556  
      *
 557  
      * @param jdbcType the JDBC type
 558  
      * @return name of the ParameterParser getX() method
 559  
      */
 560  
     public static String getPPMethod(String jdbcType)
 561  
     {
 562  
         // Make sure the we are initialized.
 563  0
         if (!isInitialized)
 564  
         {
 565  0
             initialize();
 566  
         }
 567  0
         return (String) jdbcToPPMethodMap.get(jdbcType);
 568  
     }
 569  
 
 570  
     /**
 571  
      * Returns the correct jdbc type for torque added types
 572  
      *
 573  
      * @param type the torque added type
 574  
      * @return name of the the correct jdbc type
 575  
      */
 576  
     public static String getJdbcType(String type)
 577  
     {
 578  
         // Make sure the we are initialized.
 579  0
         if (!isInitialized)
 580  
         {
 581  0
             initialize();
 582  
         }
 583  0
         return (String) torqueTypeToJdbcTypeMap.get(type);
 584  
     }
 585  
 
 586  
     /**
 587  
      * Returns Torque type constant corresponding to JDBC type code.
 588  
      * Used but Torque JDBC task.
 589  
      *
 590  
      * @param sqlType the SQL type
 591  
      * @return Torque type constant
 592  
      */
 593  
     public static String getTorqueType(Integer sqlType)
 594  
     {
 595  
         // Make sure the we are initialized.
 596  0
         if (!isInitialized)
 597  
         {
 598  0
             initialize();
 599  
         }
 600  0
         return (String) jdbcToTorqueTypeMap.get(sqlType);
 601  
     }
 602  
 
 603  
     /**
 604  
      * Returns true if the type is boolean in the java
 605  
      * object and a numeric (1 or 0) in the db.
 606  
      *
 607  
      * @param type The type to check.
 608  
      * @return true if the type is BOOLEANINT
 609  
      */
 610  
     public static boolean isBooleanInt(String type)
 611  
     {
 612  0
         return BOOLEANINT.equals(type);
 613  
     }
 614  
 
 615  
     /**
 616  
      * Returns true if the type is boolean in the
 617  
      * java object and a String "Y" or "N" in the db.
 618  
      *
 619  
      * @param type The type to check.
 620  
      * @return true if the type is BOOLEANCHAR
 621  
      */
 622  
     public static boolean isBooleanChar(String type)
 623  
     {
 624  0
         return BOOLEANCHAR.equals(type);
 625  
     }
 626  
 
 627  
     /**
 628  
      * Returns true if the type is boolean in the
 629  
      * java object and a Bit "1" or "0" in the db.
 630  
      *
 631  
      * @param type The type to check.
 632  
      * @return true if the type is BIT
 633  
      */
 634  
     public static boolean isBit(String type)
 635  
     {
 636  0
         return BIT.equals(type);
 637  
     }
 638  
 
 639  
     /**
 640  
      * Returns true if values for the type need to be quoted.
 641  
      *
 642  
      * @param type The type to check.
 643  
      * @return true if values for the type need to be quoted.
 644  
      */
 645  
     public static final boolean isTextType(String type)
 646  
     {
 647  0
         for (int i = 0; i < TEXT_TYPES.length; i++)
 648  
         {
 649  0
             if (type.equals(TEXT_TYPES[i]))
 650  
             {
 651  0
                 return true;
 652  
             }
 653  
         }
 654  
 
 655  
         // If we get this far, there were no matches.
 656  0
         return false;
 657  
     }
 658  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.