Package htsjdk.samtools.cram.encoding
Interface BitCodec<T>
-
- Type Parameters:
T- data series type to be read or written
- All Known Implementing Classes:
AbstractBitCodec,ByteArrayStopEncoding.ByteArrayStopCodec
public interface BitCodec<T>An interface that defines requirements for serializing/deserializing objects into and from a bit stream.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description longnumberOfBits(T object)Calculate the number of bits that the object would take in bit serialized form.Tread(BitInputStream bitInputStream)Read a single object from the bit stream.Tread(BitInputStream bitInputStream, int valueLen)Read a array of specified length from the bit stream.voidreadInto(BitInputStream bitInputStream, byte[] array, int offset, int valueLen)Read a array of specified length from the bit stream into a given byte array.voidskip(BitInputStream bitInputStream)Skip the next object in the bit stream.voidskip(BitInputStream bitInputStream, int length)Skip the next length objects in the bit stream.longwrite(BitOutputStream bitOutputStream, T object)Write an object into the bit stream
-
-
-
Method Detail
-
read
T read(BitInputStream bitInputStream) throws IOException
Read a single object from the bit stream.- Parameters:
bitInputStream- the bit input stream to rad from- Returns:
- an object from the stream
- Throws:
IOException- as per java IO contract
-
read
T read(BitInputStream bitInputStream, int valueLen) throws IOException
Read a array of specified length from the bit stream.- Parameters:
bitInputStream- the bit input stream to rad from param valueLen the number of elements to read- Returns:
- an object from the stream
- Throws:
IOException- as per java IO contract
-
readInto
void readInto(BitInputStream bitInputStream, byte[] array, int offset, int valueLen) throws IOException
Read a array of specified length from the bit stream into a given byte array. This method is a way to optimize byte array IO operations by bypassing abstraction. Leaky, I know.- Parameters:
bitInputStream- the bit input stream to rad fromarray- the array to read intooffset- offset in the arrayvalueLen- number of elements to read- Throws:
IOException- as per java IO contract
-
skip
void skip(BitInputStream bitInputStream) throws IOException
Skip the next object in the bit stream.- Parameters:
bitInputStream- the bit stream to operate on- Throws:
IOException- as per java IO contract
-
skip
void skip(BitInputStream bitInputStream, int length) throws IOException
Skip the next length objects in the bit stream.- Parameters:
bitInputStream- the bit stream to operate onlength- the number of objects to skip- Throws:
IOException- as per java IO contract
-
write
long write(BitOutputStream bitOutputStream, T object) throws IOException
Write an object into the bit stream- Parameters:
bitOutputStream- the output bit stream to write toobject- the object to write- Returns:
- the number of bits written out
- Throws:
IOException- as per java IO contract
-
numberOfBits
long numberOfBits(T object)
Calculate the number of bits that the object would take in bit serialized form.- Parameters:
object- an object- Returns:
- the number of bits
-
-