Package htsjdk.tribble.readers
Class AsciiLineReaderIterator
java.lang.Object
htsjdk.tribble.readers.AsciiLineReaderIterator
- All Implemented Interfaces:
LocationAware,LineIterator,Closeable,AutoCloseable,Iterator<String>
public class AsciiLineReaderIterator
extends Object
implements LocationAware, LineIterator, Closeable
A class that iterates over the lines and line positions in an
AsciiLineReader.
This class is slower than other LineIterators because it is driven by AsciiLineReader, but offers the benefit of
implementing LocationAware, which is required for indexing. If you do not require LocationAware, consider using
LineIteratorImpl as an alternative to this class.
Note an important distinction in the way this class and its inner iterator differ: in the inner iterator, the position stored with
a line is the position at the start of that line. However, getPosition() of the outer class must return the position at the
end of the most-recently-returned line (or the start of the underlying AsciiLineReader, if no line has been read). The latter
bit of logic here is required to conform with the interface described by LocationAware.getPosition().-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()longReturns the byte position at the end of the most-recently-read line (a.k.a., the beginning of the next line) fromnext()in the underlyingAsciiLineReader.booleanhasNext()next()peek()Peeks at the next line, without expending any elements in the underlying iterator.voidremove()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
AsciiLineReaderIterator
-
-
Method Details
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
hasNext
public boolean hasNext() -
next
-
remove
public void remove() -
getPosition
public long getPosition()Returns the byte position at the end of the most-recently-read line (a.k.a., the beginning of the next line) fromnext()in the underlyingAsciiLineReader.- Specified by:
getPositionin interfaceLocationAware
-
peek
Description copied from interface:LineIteratorPeeks at the next line, without expending any elements in the underlying iterator.- Specified by:
peekin interfaceLineIterator
-