/** * {@inheritDoc} */ @Override public int getRowNumber() { return super.object.getRowNumber(); }
@Override public int getRowNumber() { return resultSet.getRowNumber(); }
@Override public int getRowNumber() { return resultset.getRowNumber(); }
@Override public int getRowNumber() { // Calculate row number based on whether we have peeked return this.hasPeeked() ? this.results.getRowNumber() - 1 : this.results.getRowNumber(); }
private boolean hasPeeked() { int diff = this.results.getRowNumber() - this.rowNumber; if (diff == 0) { // If no difference we have not peeked return false; } else if (diff == 1 && this.peeked != null) { // If difference is one then we have peeked return true; } else if (diff >= 1) { // If difference between what we think the row number is and that of // the underlying result set is > 1 then someone has moved positions // in the underlying result set independently // Sync up with current position and report false if (warnOnSyncErrors) LOGGER.warn("Underlying result set was moved forward " + (diff - 1) + " result(s), this result set was synced back up but some results have been missed"); this.rowNumber = this.results.getRowNumber(); this.peeked = null; return false; } else { // If difference is negative then someone has reset the underlying // result set so we are completely out of sync, syncing back up at // this point would be illegal since we have gone backwards in the // stream throw new IllegalStateException( "Underlying result set position has moved backwards, this result set is no longer usable"); } }
@Override public boolean hasNext() { return resultSet.getRowNumber() < (offset + size) && resultSet.hasNext(); }
@Override public QuerySolution next() { if (resultSet.getRowNumber() >= offset && getRowNumber() < (offset + size)){ final QuerySolution solution = resultSet.nextSolution(); rows.add(solution); return solution; } throw new IllegalStateException("Invalid iterable state on this ResultSet!"); }
} else { if (offset > 0) { while (resultSet.hasNext() && resultSet.getRowNumber() < offset) { resultSet.nextBinding();