package com.constellio.model.services.batch.controller; import com.constellio.model.entities.records.Record; import com.constellio.model.services.factories.ModelLayerFactory; import com.constellio.model.services.records.RecordServices; import java.util.Iterator; import java.util.List; /** * Created by Constellio on 2017-02-01. */ public class RecordFromIdListIterator implements Iterator<Record> { List<String> records; int nextIndex; RecordServices recordServices; RecordFromIdListIterator(List<String> records, ModelLayerFactory modelLayerFactory) { this.records = records; nextIndex = 0; recordServices = modelLayerFactory.newRecordServices(); } @Override public boolean hasNext() { return nextIndex < records.size(); } @Override public Record next() { return recordServices.getDocumentById(records.get(nextIndex++)); } public void beginAfterId(String lastId) { nextIndex = records.indexOf(lastId) + 1; } }