Class SliceBlocksWriteStreams


  • public class SliceBlocksWriteStreams
    extends Object
    Provides a layer over a SliceBlocks object and acts as a bridge between the DataSeries codecs and their underlying blocks when writing a CRAM stream by presenting a bit (core) or byte (external) stream for each block.
    • Constructor Detail

      • SliceBlocksWriteStreams

        public SliceBlocksWriteStreams​(CompressionHeader compressionHeader)
        Parameters:
        compressionHeader - CompressionHeader for the container containing the slice
    • Method Detail

      • getExternalOutputStream

        public ByteArrayOutputStream getExternalOutputStream​(Integer contentID)
        Get the ByteArrayOutputStream corresponding to the requested contentID
        Parameters:
        contentID - ID of content being requested
        Returns:
        ByteArrayOutputStream for contentID
      • flushStreamsToBlocks

        public SliceBlocks flushStreamsToBlocks()
        Compress and write each each stream to a corresponding Block (note that this does not write the blocks themselves to a container output stream - that can't happen until the slice is aggregated into a container.