public void setUnknown()

in openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/DBDictionary.java [1664:1749]


    public void setUnknown(PreparedStatement stmnt, int idx, Column col, Object val) throws SQLException {
        Sized sized = null;
        Calendard cald = null;
        if (val instanceof Sized) {
            sized = (Sized) val;
            val = sized.value;
        } else if (val instanceof Calendard) {
            cald = (Calendard) val;
            val = cald.value;
        }

        if (val == null)
            setNull(stmnt, idx, (col == null) ? Types.OTHER : col.getType(),
                col);
        else if (val instanceof String)
            setString(stmnt, idx, val.toString(), col);
        else if (val instanceof Integer)
            setInt(stmnt, idx, (Integer) val, col);
        else if (val instanceof Boolean)
            setBoolean(stmnt, idx, (Boolean) val, col);
        else if (val instanceof Long)
            setLong(stmnt, idx, (Long) val, col);
        else if (val instanceof Float)
            setFloat(stmnt, idx, (Float) val, col);
        else if (val instanceof Double)
            setDouble(stmnt, idx, (Double) val, col);
        else if (val instanceof Byte)
            setByte(stmnt, idx, (Byte) val, col);
        else if (val instanceof Character)
            setChar(stmnt, idx, (Character) val, col);
        else if (val instanceof Short)
            setShort(stmnt, idx, (Short) val, col);
        else if (val instanceof Locale)
            setLocale(stmnt, idx, (Locale) val, col);
        else if (val instanceof BigDecimal)
            setBigDecimal(stmnt, idx, (BigDecimal) val, col);
        else if (val instanceof BigInteger)
            setBigInteger(stmnt, idx, (BigInteger) val, col);
        else if (val instanceof Array)
            setArray(stmnt, idx, (Array) val, col);
        else if (val instanceof Blob)
            setBlob(stmnt, idx, (Blob) val, col);
        else if (val instanceof byte[])
            setBytes(stmnt, idx, (byte[]) val, col);
        else if (val instanceof Clob)
            setClob(stmnt, idx, (Clob) val, col);
        else if (val instanceof Ref)
            setRef(stmnt, idx, (Ref) val, col);
        else if (val instanceof java.sql.Date)
            setDate(stmnt, idx, (java.sql.Date) val,
                (cald == null) ? null : cald.calendar, col);
        else if (val instanceof Timestamp)
            setTimestamp(stmnt, idx, (Timestamp) val,
                (cald == null) ? null : cald.calendar, col);
        else if (val instanceof Time)
            setTime(stmnt, idx, (Time) val,
                (cald == null) ? null : cald.calendar, col);
        else if (val instanceof Date)
            setDate(stmnt, idx, (Date) val, col);
        else if (val instanceof Calendar)
            setDate(stmnt, idx, ((Calendar) val).getTime(), col);
        else if (val instanceof LocalDate) {
            setLocalDate(stmnt, idx, (LocalDate) val, col);
        }
        else if (val instanceof LocalTime) {
            setLocalTime(stmnt, idx, (LocalTime) val, col);
        }
        else if (val instanceof LocalDateTime) {
            setLocalDateTime(stmnt, idx, (LocalDateTime) val, col);
        }
        else if (val instanceof OffsetTime) {
            setOffsetTime(stmnt, idx, (OffsetTime) val, col);
        }
        else if (val instanceof OffsetDateTime) {
            setOffsetDateTime(stmnt, idx, (OffsetDateTime) val, col);
        }
        else if (val instanceof Reader)
            setCharacterStream(stmnt, idx, (Reader) val,
                (sized == null) ? 0 : sized.size, col);
        else if (val instanceof UUID && supportsUuidType)
            setObject(stmnt, idx, (UUID) val, Types.OTHER, col);
        else if (val instanceof UUID && !supportsUuidType) 
            setString(stmnt, idx, ((UUID) val).toString(), col);
        else
            throw new UserException(_loc.get("bad-param", val.getClass()));
    }