package org.caudexorigo.jdbc;
import java.math.BigDecimal;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.lang3.StringUtils;
public class ScalarBigDecimalConverter implements RowConverter<BigDecimal>
{
private int columnIndex;
private String columnName;
public ScalarBigDecimalConverter(int columnIndex)
{
super();
this.columnIndex = columnIndex;
}
public ScalarBigDecimalConverter(String columnName)
{
super();
this.columnName = columnName;
}
@Override
public BigDecimal process(ResultSet rs)
{
if ((columnIndex < 1) && (StringUtils.isBlank(columnName)))
{
throw new IllegalStateException("A column name or a column index must be suplied");
}
try
{
if ((columnIndex >= 1) && (StringUtils.isBlank(columnName)))
{
return rs.getBigDecimal(columnIndex);
}
else
{
return rs.getBigDecimal(columnName);
}
}
catch (SQLException e)
{
throw new RuntimeException(e);
}
}
}