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