db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arm...@apache.org
Subject svn commit: r398747 [2/2] - in /db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker: accesslayer/ metadata/
Date Tue, 02 May 2006 00:13:03 GMT
Modified: db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcTypesHelper.java
URL: http://svn.apache.org/viewcvs/db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcTypesHelper.java?rev=398747&r1=398746&r2=398747&view=diff
==============================================================================
--- db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcTypesHelper.java (original)
+++ db/ojb/branches/OJB_1_0_RELEASE/src/java/org/apache/ojb/broker/metadata/JdbcTypesHelper.java Mon May  1 17:13:01 2006
@@ -15,36 +15,26 @@
  * limitations under the License.
  */
 
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.net.URL;
 import java.sql.Blob;
-import java.sql.CallableStatement;
 import java.sql.Clob;
 import java.sql.Date;
 import java.sql.Ref;
-import java.sql.ResultSet;
-import java.sql.SQLException;
 import java.sql.Struct;
 import java.sql.Time;
 import java.sql.Timestamp;
 import java.sql.Types;
 import java.util.HashMap;
-import java.util.Map;
 import java.util.Locale;
+import java.util.Map;
 
-import org.apache.commons.lang.BooleanUtils;
-import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.ojb.broker.OJBRuntimeException;
-import org.apache.ojb.broker.util.SqlHelper;
-import org.apache.ojb.broker.util.sequence.SequenceManagerException;
+import org.apache.ojb.broker.metadata.fieldaccess.PersistentField;
 
 /**
- * Helper class which provide all supported {@link JdbcType} classes
- * (based on the {@link java.sql.Types}) as inner classes.
+ * Helps to manage the {@link JdbcType} implementation classes.
  *
  * @see JdbcType
  * @version $Id$
@@ -59,34 +49,34 @@
      */
     static
     {
-        setJdbcType("array", Types.ARRAY, new T_Array());
-        setJdbcType("bigint", Types.BIGINT, new T_BigInt());
-        setJdbcType("binary", Types.BINARY, new T_Binary());
-        setJdbcType("bit", Types.BIT, new T_Bit());
-        setJdbcType("blob", Types.BLOB, new T_Blob());
-        setJdbcType("char", Types.CHAR, new T_Char());
-        setJdbcType("clob", Types.CLOB, new T_Clob());
-        setJdbcType("date", Types.DATE, new T_Date());
-        setJdbcType("decimal", Types.DECIMAL, new T_Decimal());
-        setJdbcType("double", Types.DOUBLE, new T_Double());
-        setJdbcType("float", Types.FLOAT, new T_Float());
-        setJdbcType("integer", Types.INTEGER, new T_Integer());
-        setJdbcType("longvarbinary", Types.LONGVARBINARY, new T_LongVarBinary());
-        setJdbcType("longvarchar", Types.LONGVARCHAR, new T_LongVarChar());
-        setJdbcType("numeric", Types.NUMERIC, new T_Numeric());
-        setJdbcType("real", Types.REAL, new T_Real());
-        setJdbcType("ref", Types.REF, new T_Ref());
-        setJdbcType("smallint", Types.SMALLINT, new T_SmallInt());
-        setJdbcType("struct", Types.STRUCT, new T_Struct());
-        setJdbcType("time", Types.TIME, new T_Time());
-        setJdbcType("timestamp", Types.TIMESTAMP, new T_Timestamp());
-        setJdbcType("tinyint", Types.TINYINT, new T_TinyInt());
-        setJdbcType("varbinary", Types.VARBINARY, new T_VarBinary());
-        setJdbcType("varchar", Types.VARCHAR, new T_Varchar());
+        setJdbcType("array", Types.ARRAY, new JdbcTypes.T_Array());
+        setJdbcType("bigint", Types.BIGINT, new JdbcTypes.T_BigInt());
+        setJdbcType("binary", Types.BINARY, new JdbcTypes.T_Binary());
+        setJdbcType("bit", Types.BIT, new JdbcTypes.T_Bit());
+        setJdbcType("blob", Types.BLOB, new JdbcTypes.T_Blob());
+        setJdbcType("char", Types.CHAR, new JdbcTypes.T_Char());
+        setJdbcType("clob", Types.CLOB, new JdbcTypes.T_Clob());
+        setJdbcType("date", Types.DATE, new JdbcTypes.T_Date());
+        setJdbcType("decimal", Types.DECIMAL, new JdbcTypes.T_Decimal());
+        setJdbcType("double", Types.DOUBLE, new JdbcTypes.T_Double());
+        setJdbcType("float", Types.FLOAT, new JdbcTypes.T_Float());
+        setJdbcType("integer", Types.INTEGER, new JdbcTypes.T_Integer());
+        setJdbcType("longvarbinary", Types.LONGVARBINARY, new JdbcTypes.T_LongVarBinary());
+        setJdbcType("longvarchar", Types.LONGVARCHAR, new JdbcTypes.T_LongVarChar());
+        setJdbcType("numeric", Types.NUMERIC, new JdbcTypes.T_Numeric());
+        setJdbcType("real", Types.REAL, new JdbcTypes.T_Real());
+        setJdbcType("ref", Types.REF, new JdbcTypes.T_Ref());
+        setJdbcType("smallint", Types.SMALLINT, new JdbcTypes.T_SmallInt());
+        setJdbcType("struct", Types.STRUCT, new JdbcTypes.T_Struct());
+        setJdbcType("time", Types.TIME, new JdbcTypes.T_Time());
+        setJdbcType("timestamp", Types.TIMESTAMP, new JdbcTypes.T_Timestamp());
+        setJdbcType("tinyint", Types.TINYINT, new JdbcTypes.T_TinyInt());
+        setJdbcType("varbinary", Types.VARBINARY, new JdbcTypes.T_VarBinary());
+        setJdbcType("varchar", Types.VARCHAR, new JdbcTypes.T_Varchar());
         
 //#ifdef JDBC30
-        setJdbcType("boolean", Types.BOOLEAN, new T_Boolean());
-        setJdbcType("datalink", Types.DATALINK, new T_Datalink());
+        setJdbcType("boolean", Types.BOOLEAN, new JdbcTypes.T_Boolean());
+        setJdbcType("datalink", Types.DATALINK, new JdbcTypes.T_Datalink());
 //#endif
         
     }
@@ -148,6 +138,29 @@
         }
         return result;
     }
+
+    /**
+     * Lookup the {@link JdbcType} by name. If name was not found an exception
+     * is thrown.
+     *
+     * @param typeName The name of the JDBC type as String, e.g. 'bigint', 'integer'...
+     */
+    public static JdbcType getJdbcTypeByName(String typeName, PersistentField field)
+    {
+        /*
+        arminw:
+        Some user reported problems when using OJB with non-default Localization. The
+        conversion of sql type names e.g. Turkish 'BIGINT' to lower case will not match 'bigint'
+        Hope that the specification of the localization will fix this.
+        */
+        JdbcType result = (JdbcType) jdbcObjectTypesFromName.get(typeName.toLowerCase(Locale.ENGLISH));
+        if (result == null)
+        {
+            throw new OJBRuntimeException("The type " + typeName + " can not be handled by OJB." +
+                    " Please specify only types as defined by java.sql.Types.");
+        }
+        return result;
+    }
     
     /**
      * Set the {@link JdbcType} by name.
@@ -166,29 +179,34 @@
      *
      * @see FieldDescriptor#getJdbcType
      */
-    public static JdbcType getJdbcTypeByReflection(String fieldType)
+    public static JdbcType getJdbcTypeByReflection(PersistentField fld)
     {
         JdbcType result;
-        
+        String fieldType = fld.getType().getName();
+
         if (fieldType.equalsIgnoreCase(Character.class.getName()) || fieldType.equalsIgnoreCase("char"))
             result = getJdbcTypeByName("char");
-        else if (fieldType.equalsIgnoreCase(Short.class.getName()) || fieldType.equalsIgnoreCase("short"))
-            result = getJdbcTypeByName("smallint");
+        else if (fieldType.equalsIgnoreCase(String.class.getName()))
+            result = getJdbcTypeByName("varchar");
+
         else if (fieldType.equalsIgnoreCase(Integer.class.getName()) || fieldType.equalsIgnoreCase("int"))
             result = getJdbcTypeByName("integer");
         else if (fieldType.equalsIgnoreCase(Long.class.getName()) || fieldType.equalsIgnoreCase("long"))
             result = getJdbcTypeByName("bigint");
+        else if (fieldType.equalsIgnoreCase(Boolean.class.getName()) || fieldType.equalsIgnoreCase("boolean"))
+            result = getJdbcTypeByName("bit");
+        else if (fieldType.equalsIgnoreCase(BigDecimal.class.getName()))
+            result = getJdbcTypeByName("decimal");
+        else if (fieldType.equalsIgnoreCase(Short.class.getName()) || fieldType.equalsIgnoreCase("short"))
+            result = getJdbcTypeByName("smallint");
         else if (fieldType.equalsIgnoreCase(Byte.class.getName()) || fieldType.equalsIgnoreCase("byte"))
             result = getJdbcTypeByName("tinyint");
+
         else if (fieldType.equalsIgnoreCase(Float.class.getName()) || fieldType.equalsIgnoreCase("float"))
             result = getJdbcTypeByName("real");
         else if (fieldType.equalsIgnoreCase(Double.class.getName()) || fieldType.equalsIgnoreCase("double"))
             result = getJdbcTypeByName("float");
-        else if (fieldType.equalsIgnoreCase(String.class.getName()))
-            result = getJdbcTypeByName("varchar");
-        /*
-        TODO: arminw: useful? This only will work in conjunction with  a FieldConversion
-        */
+
         else if (fieldType.equalsIgnoreCase(java.util.Date.class.getName()))
             result = getJdbcTypeByName("date");
         else if (fieldType.equalsIgnoreCase(Date.class.getName()))
@@ -197,14 +215,16 @@
             result = getJdbcTypeByName("time");
         else if (fieldType.equalsIgnoreCase(Timestamp.class.getName()))
             result = getJdbcTypeByName("timestamp");
-        else if (fieldType.equalsIgnoreCase(BigDecimal.class.getName()))
-            result = getJdbcTypeByName("decimal");
+
+        else if (fieldType.equalsIgnoreCase(Blob.class.getName()))
+            result = getJdbcTypeByName("blob");
+        else if (fieldType.equalsIgnoreCase(Clob.class.getName()))
+            result = getJdbcTypeByName("clob");
+
         else if (fieldType.equalsIgnoreCase(Ref.class.getName()))
             result = getJdbcTypeByName("ref");
         else if (fieldType.equalsIgnoreCase(Struct.class.getName()))
             result = getJdbcTypeByName("struct");
-        else if (fieldType.equalsIgnoreCase(Boolean.class.getName()) || fieldType.equalsIgnoreCase("boolean"))
-            result = getJdbcTypeByName("bit");
 //#ifdef JDBC30
         else if (fieldType.equalsIgnoreCase(URL.class.getName()))
             result = getJdbcTypeByName("datalink");
@@ -216,28 +236,28 @@
     }
 
 
-    /**
-     * Returns an java object read from the specified ResultSet column.
-     */
-    public static Object getObjectFromColumn(ResultSet rs, Integer jdbcType, int columnId)
-            throws SQLException
-    {
-        return getObjectFromColumn(rs, null, jdbcType, null, columnId);
-    }
-
-    /**
-     * Returns an java object for the given jdbcType by extract from the given
-     * CallableStatement or ResultSet.
-     * NOTE: Exactly one of the arguments of type CallableStatement or ResultSet
-     * have to be non-null.
-     * If the 'columnId' argument is equals {@link JdbcType#MIN_INT}, then the given 'columnName'
-     * argument is used to lookup column. Else the given 'columnId' is used as column index.
-     */
-    private static Object getObjectFromColumn(ResultSet rs, CallableStatement stmt, Integer jdbcType, String columnName, int columnId)
-            throws SQLException
-    {
-        return getJdbcTypeByTypesIndex(jdbcType).getObjectFromColumn(rs, stmt, columnName, columnId);
-    }
+//    /**
+//     * Returns an java object read from the specified ResultSet column.
+//     */
+//    public static Object getObjectFromColumn(ResultSet rs, Integer jdbcType, int columnId)
+//            throws SQLException
+//    {
+//        return getObjectFromColumn(rs, null, jdbcType, null, columnId);
+//    }
+//
+//    /**
+//     * Returns an java object for the given jdbcType by extract from the given
+//     * CallableStatement or ResultSet.
+//     * NOTE: Exactly one of the arguments of type CallableStatement or ResultSet
+//     * have to be non-null.
+//     * If the 'columnId' argument is equals {@link JdbcType#MIN_INT}, then the given 'columnName'
+//     * argument is used to lookup column. Else the given 'columnId' is used as column index.
+//     */
+//    private static Object getObjectFromColumn(ResultSet rs, CallableStatement stmt, Integer jdbcType, String columnName, int columnId)
+//            throws SQLException
+//    {
+//        return getJdbcTypeByTypesIndex(jdbcType).getObjectFromColumn(rs, stmt, columnName, columnId);
+//    }
 
     /**
      * Returns a string representation of the given {@link java.sql.Types} value.
@@ -264,1098 +284,120 @@
         return statusName;
     }
 
-
-    //======================================================================================
-    // inner classes implementing JdbcType interface
-    //======================================================================================
-
-    public abstract static class BaseType implements JdbcType
+    /**
+     * Returns a {@link org.apache.ojb.broker.metadata.FieldType} instance for the given sql type
+     * (see {@link java.sql.Types}) as specified in JDBC 3.0 specification
+     * (see JDBC 3.0 specification <em>Appendix B, Data Type Conversion Tables</em>).
+     *
+     * @param jdbcType Specify the type to look for.
+     * @return A new specific {@link org.apache.ojb.broker.metadata.FieldType} instance.
+     */
+    static FieldType newFieldType(JdbcType jdbcType)
     {
-        private FieldType fieldType;
-
-        protected BaseType()
-        {
-            fieldType = FieldTypeClasses.newFieldType(this);
-        }
-
-        abstract Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException;
-
-        abstract Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException;
-
-        abstract Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException;
-        /*
-        only supported by jdk >= 1.4x, maybe useful in further versions
-        */
-        // abstract Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException;
-
-        public boolean equals(Object obj)
-        {
-            if (this == obj) return true;
-            boolean result = false;
-            if (obj instanceof JdbcType)
-            {
-                result = this.getType() == ((JdbcType) obj).getType();
-            }
-            return result;
-        }
-
-        public int hashCode()
-        {
-            return getType();
-        }
-
-        public FieldType getFieldType()
-        {
-            return fieldType;
-        }
-
-        public Object getObjectFromColumn(CallableStatement stmt, int columnId) throws SQLException
-        {
-            return getObjectFromColumn(null, stmt, null, columnId);
-        }
-
-        public Object getObjectFromColumn(ResultSet rs, String columnName) throws SQLException
-        {
-            return getObjectFromColumn(rs, null, columnName, MIN_INT);
-        }
-
-        public Object getObjectFromColumn(ResultSet rs, int columnId) throws SQLException
-        {
-            return getObjectFromColumn(rs, null, null, columnId);
-        }
-
-        public Object getObjectFromColumn(final ResultSet rs, final CallableStatement stmt,
-                                          final String columnName, int columnIndex) throws SQLException
-        {
-            if (stmt != null)
-            {
-                if (columnIndex == MIN_INT)
-                {
-                    throw new UnsupportedOperationException("Not implemented yet");
-                }
-                else
-                {
-                    return readValueFromStatement(stmt, columnIndex);
-                }
-            }
-            else
-            {
-                return columnIndex == MIN_INT ?
-                        readValueFromResultSet(rs, SqlHelper.stripOjbQuotes(columnName))
-                        : readValueFromResultSet(rs, columnIndex);
-           }
-        }
-
-        public String toString()
+        FieldType result;
+        switch(jdbcType.getType())
         {
-            return new ToStringBuilder(this)
-                    .append("jdbcType", getType())
-                    .append("jdbcTypeString", getSqlTypeAsString(getType()))
-                    .append("associatedFieldType", getFieldType())
-                    .toString();
-        }
-
-//      // not used in code, but maybe useful in further versions
-//        public Object getObjectFromColumn(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return getObjectFromColumn(null, stmt, columnName, MIN_INT);
-//        }
+            case Types.ARRAY:
+                result = new FieldTypes.ArrayFieldType();
+                break;
+            case Types.BIGINT:
+                result = new FieldTypes.LongFieldType();
+                break;
+            case Types.BINARY:
+                result = new FieldTypes.ByteArrayFieldType();
+                break;
+            case Types.BIT:
+                result = new FieldTypes.BooleanFieldType();
+                break;
+            case Types.BLOB:
+                result = new FieldTypes.BlobFieldType();
+                break;
+            case Types.CHAR:
+                result = new FieldTypes.StringFieldType();
+                break;
+            case Types.CLOB:
+                result = new FieldTypes.ClobFieldType();
+                break;
+            case Types.DATE:
+                result = new FieldTypes.DateFieldType();
+                break;
+            case Types.DECIMAL:
+                result = new FieldTypes.BigDecimalFieldType();
+                break;
+// Not needed, user have to use the underlying sql datatype in OJB mapping files
+//            case Types.DISTINCT:
+//                result = new DistinctFieldType();
+//                break;
+            case Types.DOUBLE:
+                result = new FieldTypes.DoubleFieldType();
+                break;
+            case Types.FLOAT:
+                result = new FieldTypes.FloatFieldType();
+                break;
+            case Types.INTEGER:
+                result = new FieldTypes.IntegerFieldType();
+                break;
+            case Types.JAVA_OBJECT:
+                result = new FieldTypes.JavaObjectFieldType();
+                break;
+            case Types.LONGVARBINARY:
+                result = new FieldTypes.ByteArrayFieldType();
+                break;
+            case Types.LONGVARCHAR:
+                result = new FieldTypes.StringFieldType();
+                break;
+            case Types.NUMERIC:
+                result = new FieldTypes.BigDecimalFieldType();
+                break;
+            case Types.REAL:
+                result = new FieldTypes.FloatFieldType();
+                break;
+            case Types.REF:
+                result = new FieldTypes.RefFieldType();
+                break;
+            case Types.SMALLINT:
+                result = new FieldTypes.ShortFieldType();
+                break;
+            case Types.STRUCT:
+                result = new FieldTypes.StructFieldType();
+                break;
+            case Types.TIME:
+                result = new FieldTypes.TimeFieldType();
+                break;
+            case Types.TIMESTAMP:
+                result = new FieldTypes.TimestampFieldType();
+                break;
+            case Types.TINYINT:
+                result = new FieldTypes.ByteFieldType();
+                break;
+            case Types.VARBINARY:
+                result = new FieldTypes.ByteArrayFieldType();
+                break;
+            case Types.VARCHAR:
+                result = new FieldTypes.StringFieldType();
+                break;
+            case Types.OTHER:
+                result = new FieldTypes.JavaObjectFieldType();
+                break;
 //
-//        public Object getObjectFromColumn(ResultSet rs, int columnId) throws SQLException
-//        {
-//            return getObjectFromColumn(rs, null, null, columnId);
-//        }
-
-    }
-
-
-    public static final class T_Char extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getString(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getString(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getString(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getString(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.CHAR;
-        }
-    }
-
-    public static final class T_Varchar extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getString(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getString(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getString(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getString(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.VARCHAR;
-        }
-    }
-
-    public static final class T_LongVarChar extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getString(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getString(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getString(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getString(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.LONGVARCHAR;
-        }
-    }
-
-    public static final class T_Numeric extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new BigDecimal(identifier.longValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getBigDecimal(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getBigDecimal(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getBigDecimal(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getBigDecimal(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.NUMERIC;
-        }
-    }
-
-    public static final class T_Decimal extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new BigDecimal(identifier.longValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getBigDecimal(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getBigDecimal(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getBigDecimal(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getBigDecimal(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.DECIMAL;
-        }
-    }
-
-    public static final class T_Bit extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'BIT'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            boolean temp = stmt.getBoolean(columnName);
-//            return (stmt.wasNull() ? null : new Boolean(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            boolean temp = stmt.getBoolean(columnIndex);
-            return (stmt.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            boolean temp = rs.getBoolean(columnName);
-            return (rs.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            boolean temp = rs.getBoolean(columnIndex);
-            return (rs.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        public int getType()
-        {
-            return Types.BIT;
-        }
-    }
+//            case Types.NULL:
+//                result = new NullFieldType();
+//                break;
 
 //#ifdef JDBC30
-    public static final class T_Boolean extends BaseType
-    {
-        public Object sequenceKeyConversion(final Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'BOOLEAN'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            boolean temp = stmt.getBoolean(columnName);
-//            return (stmt.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            boolean temp = stmt.getBoolean(columnIndex);
-            return (stmt.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            boolean temp = rs.getBoolean(columnName);
-            return (rs.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            boolean temp = rs.getBoolean(columnIndex);
-            return (rs.wasNull() ? null : BooleanUtils.toBooleanObject(temp));
-        }
-
-        public int getType()
-        {
-            return Types.BOOLEAN;
-        }
-    }
+            case Types.BOOLEAN:
+                result = new FieldTypes.BooleanFieldType();
+                break;
+            case Types.DATALINK:
+                result = new FieldTypes.URLFieldType();
+                break;
 //#endif
-
-    public static final class T_TinyInt extends BaseType
-    {
-        public Object sequenceKeyConversion(final Long identifier)
-        {
-            return new Byte(identifier.byteValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            byte temp = stmt.getByte(columnName);
-//            return (stmt.wasNull() ? null : new Byte(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            byte temp = stmt.getByte(columnIndex);
-            return (stmt.wasNull() ? null : new Byte(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            byte temp = rs.getByte(columnName);
-            return (rs.wasNull() ? null : new Byte(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            byte temp = rs.getByte(columnIndex);
-            return (rs.wasNull() ? null : new Byte(temp));
-        }
-
-        public int getType()
-        {
-            return Types.TINYINT;
+            default:
+                throw new OJBRuntimeException("Unkown or not supported field type specified, specified jdbc type was '"
+                        + jdbcType + "', as string: " + JdbcTypesHelper.getSqlTypeAsString(jdbcType.getType()));
         }
+        // make sure that the sql type was set
+        //result.setSqlType(jdbcType);
+        return result;
     }
-
-    public static final class T_SmallInt extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Short(identifier.shortValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            short temp = stmt.getShort(columnName);
-//            return (stmt.wasNull() ? null : new Short(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            short temp = stmt.getShort(columnIndex);
-            return (stmt.wasNull() ? null : new Short(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            short temp = rs.getShort(columnName);
-            return (rs.wasNull() ? null : new Short(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            short temp = rs.getShort(columnIndex);
-            return (rs.wasNull() ? null : new Short(temp));
-        }
-
-        public int getType()
-        {
-            return Types.SMALLINT;
-        }
-    }
-
-    public static final class T_Integer extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Integer(identifier.intValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            int temp = stmt.getInt(columnName);
-//            return (stmt.wasNull() ? null : new Integer(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            int temp = stmt.getInt(columnIndex);
-            return (stmt.wasNull() ? null : new Integer(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            int temp = rs.getInt(columnName);
-            return (rs.wasNull() ? null : new Integer(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            int temp = rs.getInt(columnIndex);
-            return (rs.wasNull() ? null : new Integer(temp));
-        }
-
-        public int getType()
-        {
-            return Types.INTEGER;
-        }
-    }
-
-    public static final class T_BigInt extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier;
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            long temp = stmt.getLong(columnName);
-//            return (stmt.wasNull() ? null : new Long(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            long temp = stmt.getLong(columnIndex);
-            return (stmt.wasNull() ? null : new Long(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            long temp = rs.getLong(columnName);
-            return (rs.wasNull() ? null : new Long(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            long temp = rs.getLong(columnIndex);
-            return (rs.wasNull() ? null : new Long(temp));
-        }
-
-        public int getType()
-        {
-            return Types.BIGINT;
-        }
-    }
-
-    public static final class T_Real extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Float(identifier.floatValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            float temp = stmt.getFloat(columnName);
-//            return (stmt.wasNull() ? null : new Float(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            float temp = stmt.getFloat(columnIndex);
-            return (stmt.wasNull() ? null : new Float(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            float temp = rs.getFloat(columnName);
-            return (rs.wasNull() ? null : new Float(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            float temp = rs.getFloat(columnIndex);
-            return (rs.wasNull() ? null : new Float(temp));
-        }
-
-        public int getType()
-        {
-            return Types.REAL;
-        }
-    }
-
-    public static final class T_Float extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Double(identifier.doubleValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            double temp = stmt.getDouble(columnName);
-//            return (stmt.wasNull() ? null : new Double(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            double temp = stmt.getDouble(columnIndex);
-            return (stmt.wasNull() ? null : new Double(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            double temp = rs.getDouble(columnName);
-            return (rs.wasNull() ? null : new Double(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            double temp = rs.getDouble(columnIndex);
-            return (rs.wasNull() ? null : new Double(temp));
-        }
-
-        public int getType()
-        {
-            return Types.FLOAT;
-        }
-    }
-
-    public static final class T_Double extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Double(identifier.doubleValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            double temp = stmt.getDouble(columnName);
-//            return (stmt.wasNull() ? null : new Double(temp));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            double temp = stmt.getDouble(columnIndex);
-            return (stmt.wasNull() ? null : new Double(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            double temp = rs.getDouble(columnName);
-            return (rs.wasNull() ? null : new Double(temp));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            double temp = rs.getDouble(columnIndex);
-            return (rs.wasNull() ? null : new Double(temp));
-        }
-
-        public int getType()
-        {
-            return Types.DOUBLE;
-        }
-    }
-
-    public static final class T_Binary extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString().getBytes();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getBytes(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getBytes(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getBytes(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getBytes(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.BINARY;
-        }
-    }
-
-    public static final class T_VarBinary extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString().getBytes();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getBytes(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getBytes(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getBytes(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getBytes(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.VARBINARY;
-        }
-    }
-
-    public static final class T_LongVarBinary extends BaseType
-    {
-        protected static final int BUFSZ = 2048;
-
-        /**
-         * Retrieve LONGVARBINARY InputStream data and pack into a byte array.
-         *
-         * @param is the input stream to be retrieved
-         * @return a string containing the clob data
-         * @throws java.sql.SQLException if conversion fails or the clob cannot be read
-         */
-        protected static byte[] retrieveStreamDataFromRs(InputStream is) throws SQLException
-        {
-            if (is == null)
-            {
-                return null;
-            }
-            byte[] bytes = null;
-            ByteArrayOutputStream bos = null;
-            try
-            {
-                bos = new ByteArrayOutputStream();
-                int numRead;
-                byte[] buf = new byte[BUFSZ];
-                while ((numRead = is.read(buf, 0, buf.length)) > 0)
-                {
-                    bos.write(buf, 0, numRead);
-                }
-                bytes = bos.toByteArray();
-            }
-            catch (IOException e)
-            {
-                throw new SQLException("I/O exception retrieving LONGVARBINARY: " + e.getLocalizedMessage());
-            }
-            finally
-            {
-                if (bos != null)
-                {
-                    try
-                    {
-                        bos.close();
-                    }
-                    catch (Exception ignored)
-                    {
-                        //ignore
-                    }
-                }
-            }
-            return bytes;
-        }
-
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return identifier.toString().getBytes();
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getBytes(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getBytes(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return retrieveStreamDataFromRs(rs.getBinaryStream(columnName));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return retrieveStreamDataFromRs(rs.getBinaryStream(columnIndex));
-        }
-
-        public int getType()
-        {
-            return Types.LONGVARBINARY;
-        }
-    }
-
-    public static final class T_Date extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Date(identifier.longValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getDate(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getDate(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getDate(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getDate(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.DATE;
-        }
-    }
-
-    public static final class T_Time extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Time(identifier.longValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getTime(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getTime(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getTime(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getTime(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.TIME;
-        }
-    }
-
-    public static final class T_Timestamp extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier)
-        {
-            return new Timestamp(identifier.longValue());
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getTimestamp(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getTimestamp(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getTimestamp(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getTimestamp(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.TIMESTAMP;
-        }
-    }
-
-    public static final class T_Clob extends BaseType
-    {
-        protected static final int BUFSZ = 32768;
-
-        /**
-         * Convert CLOB to String. Safe for very large objects.
-         *
-         * @param aClob clob with character data
-         * @return a string containing the clob data
-         * @throws java.sql.SQLException if conversion fails or the clob cannot be read
-         */
-        protected static String safeClobToString(Clob aClob) throws SQLException
-        {
-            long length = aClob.length();
-            if (length == 0)
-            {
-                return "";
-            }
-            StringBuffer sb = new StringBuffer();
-            char[] buf = new char[BUFSZ];
-            java.io.Reader stream = aClob.getCharacterStream();
-            try
-            {
-                int numRead;
-                while ((numRead = stream.read(buf)) != -1)
-                {
-                    sb.append(buf, 0, numRead);
-                }
-                stream.close();
-            }
-            catch (IOException e)
-            {
-                throw new SQLException(e.getLocalizedMessage());
-            }
-            return sb.toString();
-        }
-
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'CLOB'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            Clob aClob = stmt.getClob(columnName);
-//            return (stmt.wasNull() ? null : aClob.getSubString(1L, (int) aClob.length()));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            Clob aClob = stmt.getClob(columnIndex);
-            return (stmt.wasNull() ? null : safeClobToString(aClob));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            Clob aClob = rs.getClob(columnName);
-            return (rs.wasNull() ? null : safeClobToString(aClob));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            Clob aClob = rs.getClob(columnIndex);
-            return (rs.wasNull() ? null : safeClobToString(aClob));
-        }
-
-        public int getType()
-        {
-            return Types.CLOB;
-        }
-    }
-
-    public static final class T_Blob extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'BLOB'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            Blob aBlob = stmt.getBlob(columnName);
-//            return (stmt.wasNull() ? null : aBlob.getBytes(1L, (int) aBlob.length()));
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            Blob aBlob = stmt.getBlob(columnIndex);
-            return (stmt.wasNull() ? null : aBlob.getBytes(1L, (int) aBlob.length()));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            Blob aBlob = rs.getBlob(columnName);
-            return (rs.wasNull() ? null : aBlob.getBytes(1L, (int) aBlob.length()));
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            Blob aBlob = rs.getBlob(columnIndex);
-            return (rs.wasNull() ? null : aBlob.getBytes(1L, (int) aBlob.length()));
-        }
-
-        public int getType()
-        {
-            return Types.BLOB;
-        }
-    }
-
-    public static final class T_Array extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'ARRAY'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getArray(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getArray(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getArray(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getArray(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.ARRAY;
-        }
-    }
-
-    public static final class T_Struct extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'STRUCT'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getObject(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getObject(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getObject(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getObject(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.STRUCT;
-        }
-    }
-
-    public static final class T_Ref extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'REF'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getRef(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getRef(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getRef(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getRef(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.REF;
-        }
-    }
-
-//#ifdef JDBC30
-    public static final class T_Datalink extends BaseType
-    {
-        public Object sequenceKeyConversion(Long identifier) throws SequenceManagerException
-        {
-            throw new SequenceManagerException("Not supported sequence key type 'DATALINK'");
-        }
-
-//        Object readValueFromStatement(CallableStatement stmt, String columnName) throws SQLException
-//        {
-//            return stmt.getURL(columnName);
-//        }
-
-        Object readValueFromStatement(CallableStatement stmt, int columnIndex) throws SQLException
-        {
-            return stmt.getURL(columnIndex);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, String columnName) throws SQLException
-        {
-            return rs.getURL(columnName);
-        }
-
-        Object readValueFromResultSet(ResultSet rs, int columnIndex) throws SQLException
-        {
-            return rs.getURL(columnIndex);
-        }
-
-        public int getType()
-        {
-            return Types.DATALINK;
-        }
-    }
-//#endif
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message