package org.skife.jdbi.v2.util;
import org.skife.jdbi.v2.StatementContext;
import org.skife.jdbi.v2.tweak.ResultColumnMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
public enum IntegerColumnMapper implements ResultColumnMapper<Integer> {
PRIMITIVE(false),
WRAPPER(true);
private final boolean nullable;
IntegerColumnMapper(boolean nullable) {
this.nullable = nullable;
}
@Override
public Integer mapColumn(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
int value = r.getInt(columnNumber);
return nullable && r.wasNull() ? null : value;
}
@Override
public Integer mapColumn(ResultSet r, String columnLabel, StatementContext ctx) throws SQLException {
int value = r.getInt(columnLabel);
return nullable && r.wasNull() ? null : value;
}
}