package com.ldbc.driver.generator;
import com.google.common.collect.Lists;
import java.util.Iterator;
public class RepeatingGenerator<GENERATE_TYPE> extends Generator<GENERATE_TYPE>
{
private final Iterable<GENERATE_TYPE> generatorIterable;
private Iterator<GENERATE_TYPE> generator;
RepeatingGenerator( Iterator<GENERATE_TYPE> generator )
{
this.generatorIterable = Lists.newArrayList( generator );
this.generator = this.generatorIterable.iterator();
}
@Override
protected GENERATE_TYPE doNext() throws GeneratorException
{
if ( generator.hasNext() )
{
return generator.next();
}
else
{
generator = generatorIterable.iterator();
return (generator.hasNext()) ? generator.next() : null;
}
}
}