package jakiro.sequence.seq;
import java.util.concurrent.atomic.AtomicLong;
public class SequenceRange {
private final long min;
public long getMin() {
return min;
}
private final long max;
public long getMax() {
return max;
}
private volatile boolean over = false;
public boolean isOver() {
return over;
}
private final AtomicLong value;
public SequenceRange(long min, long max) {
this.min = min;
this.max = max;
this.value = new AtomicLong(min);
}
public long getAndIncrement() {
long currentValue = value.getAndIncrement();
if (currentValue > max) {
over = true;
return -1;
}
return currentValue;
}
}