Interface SortingCollection.Codec<T>

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

public static interface SortingCollection.Codec<T> extends Cloneable
Client must implement this class, which defines the way in which records are written to and read from file.
  • Method Summary

    Modifier and Type
    Method
    Description
    Must return a cloned copy of the codec that can be used independently of the original instance.
    Read the next record from the input stream and convert into a java object.
    void
    encode(T val)
    Write object to output stream
    void
    Where to read encoded input from
    void
    Where to write encoded output
  • Method Details

    • setOutputStream

      void setOutputStream(OutputStream os)
      Where to write encoded output
    • setInputStream

      void setInputStream(InputStream is)
      Where to read encoded input from
    • 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

      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.