package eu.dnetlib.enabling.test;

import java.util.List;

import com.google.common.collect.Lists;

import eu.dnetlib.data.resultSet.ResultSetIterator;
import eu.dnetlib.rmi.objects.datasources.BrowsableField;

public class SampleResultSetIterator implements ResultSetIterator<BrowsableField> {

	private int total;
	private int position;

	public SampleResultSetIterator(final int total) {
		this.total = total;
		this.position = 0;
	}

	@Override
	public int position() {
		return position;
	}

	@Override
	public boolean isFinished() {
		return position == total;
	}

	@Override
	public int getTotal() {
		return total;
	}

	@Override
	public List<BrowsableField> getNextElements(final int n) {
		final List<BrowsableField> list = Lists.newArrayList();
		while (position < total && list.size() < n) {
			list.add(new BrowsableField("Record " + position++, "AAAAAAAAAAAAAAAA"));
		}
		return list;
	}
}
