package rewards.internal;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;
import common.money.Percentage;
public class PercentageTypeHandler implements TypeHandler {
@Override
public void setParameter(PreparedStatement ps, int i, Object parameter,
JdbcType jdbcType) throws SQLException {
double d = ((Percentage)parameter).asDouble();
ps.setDouble(i, d);
}
@Override
public Object getResult(ResultSet rs, String columnName)
throws SQLException {
double d = rs.getDouble(columnName);
return new Percentage(d);
}
@Override
public Object getResult(CallableStatement cs, int columnIndex)
throws SQLException {
double d = cs.getDouble(columnIndex);
return new Percentage(d);
}
public Object valueOf(String s) {
return Percentage.valueOf(s);
}
}