Class CRAMEncoding<T>

    • Constructor Detail

      • CRAMEncoding

        protected CRAMEncoding​(EncodingID encodingId)
        Create a new encoding. Concrete implementation constructors will specify their parameters
        Parameters:
        encodingId - the EncodingID associated with the concrete implementation
    • Method Detail

      • toSerializedEncodingParams

        public abstract byte[] toSerializedEncodingParams()
        Serialize encoding parameters to an ITF8-encoded byte array. By convention, each subclass should have a corresponding and symmetric "fromSerializedEncodingParams" that returns a new instance of that encoding populated with values from the serialized encoding params.
        Returns:
        a byte array containing the encoding's parameter values encoded as an ITF8 stream.
      • buildCodec

        public abstract CRAMCodec<T> buildCodec​(SliceBlocksReadStreams sliceBlocksReadStreams,
                                                SliceBlocksWriteStreams sliceBlocksWriteStreams)
        Instantiate the codec represented by this encoding by supplying it with the appropriate streams
        Parameters:
        sliceBlocksReadStreams - the core block bit stream a CoreCodec will read from
        sliceBlocksWriteStreams - the core block bit stream a CoreCodec will write to
        Returns:
        a newly instantiated codec
      • buildReadCodec

        public CRAMCodec<T> buildReadCodec​(SliceBlocksReadStreams sliceBlocksReadStreams)
        Convenience initializer method for read codecs
        Parameters:
        sliceBlocksReadStreams - the core block bit stream a CoreCodec will read from
        Returns:
      • buildWriteCodec

        public CRAMCodec<T> buildWriteCodec​(SliceBlocksWriteStreams sliceBlocksWriteStreams)
        Convenience initializer method for write codecs
        Parameters:
        sliceBlocksWriteStreams - the core block bit stream a CoreCodec will write to
        Returns: