}
public <T> T handle(Connection connection, Class<T> resultType,
String query, List<IsoSQLParameter> parameters, Object data)
throws SQLException {
IsoLog log = context.getInstance(IsoLog.class);
log.debug(query);
CallableStatement statement = connection.prepareCall(query);
try {
context.getInstance(IsoCallableStatementHandler.class)
.setParameters(statement, data);
statement.execute();
return context.getInstance(IsoCallableStatementResult.class)
.result(statement, resultType);
} finally {
try {
statement.close();
} catch (SQLException exception) {
log.error(exception);
}
}
}