MCPcopy Create free account
hub / github.com/RealTimeGenomics/rtg-tools / ArrayVcfIterator

Class ArrayVcfIterator

src/main/java/com/rtg/vcf/ArrayVcfIterator.java:42–82  ·  view source on GitHub ↗

An array-backed VcfIterator

Source from the content-addressed store, hash-verified

40 * An array-backed VcfIterator
41 */
42@TestClass("com.rtg.vcf.VcfFilterIteratorTest")
43public class ArrayVcfIterator implements VcfIterator {
44 private final VcfHeader mHeader;
45 private final VcfRecord[] mRecords;
46 private int mPos;
47
48 /**
49 * Constructor
50 * @param header the header
51 * @param records array of records
52 */
53 public ArrayVcfIterator(VcfHeader header, VcfRecord... records) {
54 mHeader = header;
55 mRecords = records;
56 mPos = 0;
57 }
58
59 @Override
60 public VcfHeader getHeader() {
61 return mHeader;
62 }
63
64 @Override
65 public boolean hasNext() {
66 return mPos < mRecords.length;
67 }
68
69 @Override
70 public VcfRecord next() {
71 return mRecords[mPos++];
72 }
73
74 @Override
75 public void forEach(Consumer<? super VcfRecord> action) throws IOException {
76 IOIterator.forEach(this, action);
77 }
78
79 @Override
80 public void close() {
81 }
82}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected