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);
}
}