package com.constellio.model.services.search.iterators; import org.apache.solr.common.params.SolrParams; import com.constellio.data.dao.dto.records.RecordDTO; import com.constellio.data.dao.services.bigVault.LazyResultsIterator; import com.constellio.data.dao.services.bigVault.SearchResponseIterator; import com.constellio.model.entities.records.Record; import com.constellio.model.services.factories.ModelLayerFactory; import com.constellio.model.services.records.RecordServices; public class RecordSearchResponseIterator extends LazyResultsIterator<Record> implements SearchResponseIterator<Record> { private boolean fullyLoaded; private RecordServices recordServices; public RecordSearchResponseIterator(ModelLayerFactory modelLayerFactory, SolrParams solrParams, int intervalsLength, boolean fullyLoaded) { super(modelLayerFactory.getDataLayerFactory().newRecordDao(), solrParams, intervalsLength); this.fullyLoaded = fullyLoaded; this.recordServices = modelLayerFactory.newRecordServices(); } public RecordSearchResponseIterator beginAfterId(String id) { this.lastId = id; return this; } @Override public Record convert(RecordDTO recordDTO) { return recordServices.toRecord(recordDTO, fullyLoaded); } }