public class SamRecordTrackingBuffer<T extends SamRecordWithOrdinal>
extends java.lang.Object
Constructor and Description |
---|
SamRecordTrackingBuffer(int maxRecordsInRam,
int blockSize,
java.util.List<java.io.File> tmpDirs,
SAMFileHeader header,
java.lang.Class<T> clazz) |
Modifier and Type | Method and Description |
---|---|
void |
add(SamRecordWithOrdinal samRecordWithOrdinal)
Add the given SAMRecordIndex to the buffer.
|
boolean |
canEmit()
Returns true if we can return the next record (it has been examined).
|
void |
close()
Close IO resources associated with each underlying BufferBlock
|
boolean |
contains(SamRecordWithOrdinal samRecordWithOrdinal)
Returns true if this buffer contains the record at the given index, false otherwise
|
boolean |
isEmpty()
Returns true if we are tracking no records, false otherwise
|
SamRecordWithOrdinal |
next()
Returns the next element in the iteration.
|
void |
remove()
Removes the next record from this buffer
|
void |
setResultState(SamRecordWithOrdinal samRecordWithOrdinal,
boolean resultState)
Mark the current samRecordWithOrdinal as having been examined.
|
long |
size()
Return the total number of elements in the queue, both in memory and on disk
|
public SamRecordTrackingBuffer(int maxRecordsInRam, int blockSize, java.util.List<java.io.File> tmpDirs, SAMFileHeader header, java.lang.Class<T> clazz)
maxRecordsInRam
- how many records to buffer before spilling to diskblockSize
- the number of records in a given blocktmpDirs
- the temporary directories to use when spilling to diskheader
- the headerclazz
- the class that extends SamRecordWithOrdinalpublic boolean isEmpty()
public boolean canEmit()
public void add(SamRecordWithOrdinal samRecordWithOrdinal)
samRecordWithOrdinal
- The samRecordWithOrdinal to be addedpublic SamRecordWithOrdinal next()
java.util.NoSuchElementException
- if the buffer is empty.SAMException
- if the buffer is not competent to emit (canEmit returns false)public void remove()
public long size()
public boolean contains(SamRecordWithOrdinal samRecordWithOrdinal)
public void setResultState(SamRecordWithOrdinal samRecordWithOrdinal, boolean resultState)
samRecordWithOrdinal
- The samRecordWithOrdinal to be markedresultState
- Boolean flag indicating the result of the examination of this record.SAMException
- if the provided recordIndex is not found within the SamRecordTrackingBufferpublic void close()