T
- data series typepublic abstract class CRAMEncoding<T>
extends java.lang.Object
CRAMCodec
instance.Modifier | Constructor and Description |
---|---|
protected |
CRAMEncoding(EncodingID id)
Create a new encoding.
|
Modifier and Type | Method and Description |
---|---|
abstract CRAMCodec<T> |
buildCodec(BitInputStream coreBlockInputStream,
BitOutputStream coreBlockOutputStream,
java.util.Map<java.lang.Integer,java.io.ByteArrayInputStream> externalBlockInputMap,
java.util.Map<java.lang.Integer,java.io.ByteArrayOutputStream> externalBlockOutputMap)
Instantiate the codec represented by this encoding by supplying it with the appropriate streams
|
CRAMCodec<T> |
buildReadCodec(BitInputStream coreBlockInputStream,
java.util.Map<java.lang.Integer,java.io.ByteArrayInputStream> externalBlockInputMap)
Convenience initializer method for read codecs
|
CRAMCodec<T> |
buildWriteCodec(BitOutputStream coreBlockOutputStream,
java.util.Map<java.lang.Integer,java.io.ByteArrayOutputStream> externalBlockOutputMap)
Convenience initializer method for write codecs
|
EncodingID |
id() |
abstract byte[] |
toByteArray()
Subclasses but have a defined serialization of their parameters
|
EncodingParams |
toParam() |
protected CRAMEncoding(EncodingID id)
id
- the EncodingID associated with the concrete implementationpublic EncodingID id()
public EncodingParams toParam()
public abstract byte[] toByteArray()
public abstract CRAMCodec<T> buildCodec(BitInputStream coreBlockInputStream, BitOutputStream coreBlockOutputStream, java.util.Map<java.lang.Integer,java.io.ByteArrayInputStream> externalBlockInputMap, java.util.Map<java.lang.Integer,java.io.ByteArrayOutputStream> externalBlockOutputMap)
coreBlockInputStream
- the core block bit stream a CoreCodec
will read fromcoreBlockOutputStream
- the core block bit stream a CoreCodec
will write toexternalBlockInputMap
- the external block byte stream a ExternalCodec
will read fromexternalBlockOutputMap
- the external block byte stream a ExternalCodec
will write topublic CRAMCodec<T> buildReadCodec(BitInputStream coreBlockInputStream, java.util.Map<java.lang.Integer,java.io.ByteArrayInputStream> externalBlockInputMap)
coreBlockInputStream
- the core block bit stream a CoreCodec
will read fromexternalBlockInputMap
- the external block byte stream a ExternalCodec
will read frompublic CRAMCodec<T> buildWriteCodec(BitOutputStream coreBlockOutputStream, java.util.Map<java.lang.Integer,java.io.ByteArrayOutputStream> externalBlockOutputMap)
coreBlockOutputStream
- the core block bit stream a CoreCodec
will write toexternalBlockOutputMap
- the external block byte stream a ExternalCodec
will write to