package org.prevayler.demos.scalability;
import java.io.Serializable;
import java.util.Random;
/** Generates Record objects with ids from 0 to numberOfRecords - 1.
*/
public class RecordIterator implements Serializable {
private static final long serialVersionUID = 4278565982042966467L;
private int nextRecordId = 0;
private final int numberOfRecords;
private final Random _random = new Random(0);
public RecordIterator(int numberOfRecords) {
this.numberOfRecords = numberOfRecords;
}
public boolean hasNext() {
return nextRecordId < numberOfRecords;
}
public Record next() {
indicateProgress();
return new Record(nextRecordId++, _random);
}
private void indicateProgress() {
if (nextRecordId == 0) {
out("Creating " + numberOfRecords + " objects...");
return;
}
if (nextRecordId % 100000 == 0) out("" + nextRecordId + "...");
}
static private void out(Object message) {
System.out.println(message);
}
}