htsjdk.samtools.util
Interface SortingCollection.Codec<T>

All Superinterfaces:
java.lang.Cloneable
All Known Implementing Classes:
BAMRecordCodec, VCFRecordCodec
Enclosing class:
SortingCollection<T>

public static interface SortingCollection.Codec<T>
extends java.lang.Cloneable

Client must implement this class, which defines the way in which records are written to and read from file.


Method Summary
 SortingCollection.Codec<T> clone()
          Must return a cloned copy of the codec that can be used independently of the original instance.
 T decode()
          Read the next record from the input stream and convert into a java object.
 void encode(T val)
          Write object to output stream
 void setInputStream(java.io.InputStream is)
          Where to read encoded input from
 void setOutputStream(java.io.OutputStream os)
          Where to write encoded output
 

Method Detail

setOutputStream

void setOutputStream(java.io.OutputStream os)
Where to write encoded output

Parameters:
os -

setInputStream

void setInputStream(java.io.InputStream is)
Where to read encoded input from

Parameters:
is -

encode

void encode(T val)
Write object to output stream

Parameters:
val - what to write

decode

T decode()
Read the next record from the input stream and convert into a java object.

Returns:
null if no more records. Should throw exception if EOF is encountered in the middle of a record.

clone

SortingCollection.Codec<T> clone()
Must return a cloned copy of the codec that can be used independently of the original instance. This is required so that multiple codecs can exist simultaneously that each is reading a separate file.