private boolean _endOfRow() throws Exception { handler.accept(Arrays.copyOf(currentRow, currentIndex)); Arrays.fill(currentRow, 0, currentIndex, null); currentIndex = 0; return true; }
static <T> Consumer<T> toConsumer(CheckedConsumer<T> consumer) { return consumer.toConsumer(); } //IFJAVA8_END
default Consumer<T> toConsumer() { return t -> { try { accept(t); } catch (Exception e) { ErrorHelper.rethrow(e); } }; }
static <T> Consumer<T> toConsumer(CheckedConsumer<T> consumer) { return consumer.toConsumer(); } //IFJAVA8_END
@Override public void newCell(char[] chars, int offset, int length) { try { delegate.accept(new String(chars, offset, length)); } catch (Exception e) { ErrorHelper.rethrow(e); } }
@Override public void accept(I i) throws Exception { handler.accept(transformer.apply(i)); } }
default Consumer<T> toConsumer() { return t -> { try { accept(t); } catch (Exception e) { ErrorHelper.rethrow(e); } }; }
@Override public void accept(T t) { try { consumer.accept(t); } catch (Exception e) { ErrorHelper.rethrow(e); } } };
private <H extends CheckedConsumer<? super T>> void handleT(H handler, T t) { try { handler.accept(t); } catch(Throwable e) { errorHandler.handlerError(e, t); } }
private <H extends CheckedConsumer<? super T>> void handleT(H handler, T t) { try { handler.accept(t); } catch(Throwable e) { errorHandler.handlerError(e, t); } }
@Override public void accept(I i) throws Exception { handler.accept(transformer.apply(i)); } }
@Override public void accept(T t) { try { consumer.accept(t); } catch (Exception e) { ErrorHelper.rethrow(e); } } };
protected void handleGeneratedKeys(CheckedConsumer<? super K> keyConsumer, PreparedStatement preparedStatement) throws SQLException { ResultSet keys = preparedStatement.getGeneratedKeys(); try { while (keys.next()) { try { keyConsumer.accept(keyMapper.map(keys)); } catch (Exception e) { ErrorHelper.rethrow(e); } } } finally { keys.close(); } } }
protected void handleGeneratedKeys(CheckedConsumer<? super K> keyConsumer, PreparedStatement preparedStatement) throws SQLException { ResultSet keys = preparedStatement.getGeneratedKeys(); try { while (keys.next()) { try { keyConsumer.accept(keyMapper.map(keys)); } catch (Exception e) { ErrorHelper.rethrow(e); } } } finally { keys.close(); } } }
@Override public void insert(Connection connection, Collection<T> values, CheckedConsumer<PreparedStatement> postExecute) throws SQLException { PreparedStatement preparedStatement = prepareStatement(connection, values.size()); try { bindTo(preparedStatement, values); preparedStatement.executeUpdate(); postExecute.accept(preparedStatement); } catch (Exception e) { ErrorHelper.rethrow(e); } finally { try { preparedStatement.close(); } catch(SQLException e) { // IGNORE } } }
@Override public void insert(Connection connection, Collection<T> values, CheckedConsumer<PreparedStatement> postExecute) throws SQLException { PreparedStatement preparedStatement = prepareStatement(connection, values.size()); try { bindTo(preparedStatement, values); preparedStatement.executeUpdate(); postExecute.accept(preparedStatement); } catch (Exception e) { ErrorHelper.rethrow(e); } finally { try { preparedStatement.close(); } catch(SQLException e) { // IGNORE } } }
@Override public <RH extends CheckedConsumer<? super T>> RH read(Connection connection, Collection<K> keys, RH consumer) throws SQLException { PreparedStatement preparedStatement = keyTupleQueryPreparer.prepareStatement(selectFromTableWhere, connection, keys.size()); try { keyTupleQueryPreparer.bindTo(keys, preparedStatement, 0); ResultSet resultSet = preparedStatement.executeQuery(); try { while (resultSet.next()) { consumer.accept(selectQueryMapper.map(resultSet)); } } finally { resultSet.close(); } return consumer; } catch(Exception e) { return ErrorHelper.rethrow(e); } finally { safeClose(preparedStatement); } }
@Override public <RH extends CheckedConsumer<? super T>> RH read(Connection connection, Collection<K> keys, RH consumer) throws SQLException { PreparedStatement preparedStatement = keyTupleQueryPreparer.prepareStatement(selectFromTableWhere, connection, keys.size()); try { keyTupleQueryPreparer.bindTo(keys, preparedStatement, 0); ResultSet resultSet = preparedStatement.executeQuery(); try { while (resultSet.next()) { consumer.accept(selectQueryMapper.map(resultSet)); } } finally { resultSet.close(); } return consumer; } catch(Exception e) { return ErrorHelper.rethrow(e); } finally { safeClose(preparedStatement); } }
@Override public <RH extends CheckedConsumer<? super T>> RH forEach(int startRow, Sheet sheet, RH consumer) { MappingContext<? super Row> mappingContext = newMappingContext(); SourceMapper<Row, T> lMapper = this.mapper; for(int rowNum = startRow; rowNum <= sheet.getLastRowNum(); rowNum++) { Row row = sheet.getRow(rowNum); if (row != null) { T object = lMapper.map(row, mappingContext); try { consumer.accept(object); } catch (Exception e) { consumerErrorHandler.handlerError(e, object); } } } return consumer; }
@SuppressWarnings("unchecked") @Override public void produces(CheckedConsumer<MapperKey<K>> consumer, String[] names) throws Exception { K[] columns1 = (K[]) Array.newInstance(keyClass, names.length); K[] columns2 = (K[]) Array.newInstance(keyClass, names.length); for(int i = 0; i < names.length; i++) { columns1[i] = newKey(names[i], i); columns2[i] = newKey(names[i], i+1); } consumer.accept(new MapperKey<K>(columns1)); consumer.accept(new MapperKey<K>(columns2)); }