package jef.database.dialect.type; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import jef.database.dialect.DatabaseDialect; import jef.database.jdbc.result.IResultSet; public class CharBooleanMapping extends AColumnMapping{ public Object jdbcSet(PreparedStatement st, Object value, int index, DatabaseDialect session) throws SQLException { if(value==null){ st.setNull(index, java.sql.Types.CHAR); return null; }else{ String str=((Boolean)value)?"1":"0"; st.setString(index, str); return str; } } @Override public void jdbcUpdate(ResultSet rs, String columnLabel, Object value, DatabaseDialect dialect) throws SQLException { String str=((Boolean)value)?"1":"0"; rs.updateString(columnLabel, str); } public int getSqlType() { return java.sql.Types.CHAR; } @Override protected String getSqlExpression(Object value, DatabaseDialect profile) { if((Boolean)value){ return "'1'"; }else{ return "'0'"; } } public Object jdbcGet(IResultSet rs, int n) throws SQLException { String s=rs.getString(n); if(s!=null && s.length()>0){ char c=s.charAt(0); return Boolean.valueOf(c=='1' || c=='T'); } return null; } @Override protected Class<?> getDefaultJavaType() { return Boolean.class; } }