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 LineIterator
s 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 TypeMethodDescriptionvoid
close()
long
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
.boolean
hasNext()
next()
peek()
Peeks at the next line, without expending any elements in the underlying iterator.void
remove()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
AsciiLineReaderIterator
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in 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:
getPosition
in interfaceLocationAware
-
peek
Description copied from interface:LineIterator
Peeks at the next line, without expending any elements in the underlying iterator.- Specified by:
peek
in interfaceLineIterator
-