package org.neo4j.helpers.collection; /** * Iterates over a range, where the start value is inclusive, but the * end value is exclusive. */ public class RangeIterator extends PrefetchingIterator<Integer> { private int current; private final int end; private final int stride; public RangeIterator( int end ) { this( 0, end ); } public RangeIterator( int start, int end ) { this( start, end, 1 ); } public RangeIterator( int start, int end, int stride ) { this.current = start; this.end = end; this.stride = stride; } @Override protected Integer fetchNextOrNull() { try { return current < end ? current : null; } finally { current += stride; } } }