package jef.database.dialect.type; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import jef.database.dialect.DatabaseDialect; import jef.database.jdbc.result.IResultSet; public class UnknownStringMapping extends AColumnMapping{ private String name; private int sqlType; public UnknownStringMapping() { this("Other",Types.OTHER); } public UnknownStringMapping(String name, int sqlType) { this.name=name; this.sqlType=sqlType; } @Override public Object jdbcSet(PreparedStatement st, Object value, int index, DatabaseDialect dialect) throws SQLException { if(value==null){ st.setNull(index, sqlType); }else{ st.setObject(index, value); } return value; } @Override public int getSqlType() { return sqlType; } @Override public Object jdbcGet(IResultSet rs, int n) throws SQLException { return String.valueOf(rs.getObject(n)); } @Override protected String getSqlExpression(Object value, DatabaseDialect profile) { return super.wrapSqlStr(value.toString()); } @Override public String toString() { return name+"|"+super.toString(); } @Override protected Class<?> getDefaultJavaType() { return String.class; } @Override public void jdbcUpdate(ResultSet rs, String columnIndex, Object value, DatabaseDialect dialect) throws SQLException { rs.updateObject(columnIndex, value); } }