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 BooleanColumnMapper implements ResultColumnMapper<Boolean> {
PRIMITIVE(false),
WRAPPER(true);
private final boolean nullable;
BooleanColumnMapper(boolean nullable) {
this.nullable = nullable;
}
@Override
public Boolean mapColumn(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException {
boolean value = r.getBoolean(columnNumber);
return nullable && r.wasNull() ? null : value;
}
@Override
public Boolean mapColumn(ResultSet r, String columnLabel, StatementContext ctx) throws SQLException {
boolean value = r.getBoolean(columnLabel);
return nullable && r.wasNull() ? null : value;
}
}