package com.revolsys.record.io;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import com.revolsys.io.AbstractReader;
import com.revolsys.record.Record;
import com.revolsys.record.schema.RecordDefinition;
public class ListRecordReader extends AbstractReader<Record> implements RecordReader {
private List<Record> records = new ArrayList<>();
private RecordDefinition recordDefinition;
public ListRecordReader(final RecordDefinition recordDefinition,
final Collection<? extends Record> records) {
this.recordDefinition = recordDefinition;
this.records = new ArrayList<>(records);
}
public ListRecordReader(final RecordDefinition recordDefinition, final Record... records) {
this(recordDefinition, Arrays.asList(records));
}
@Override
public void close() {
this.recordDefinition = null;
this.records = Collections.emptyList();
}
@Override
public RecordDefinition getRecordDefinition() {
return this.recordDefinition;
}
@Override
public Iterator<Record> iterator() {
return this.records.iterator();
}
@Override
public void open() {
}
}