Class RunCodec
- java.lang.Object
-
- org.apache.commons.compress.harmony.pack200.Codec
-
- org.apache.commons.compress.harmony.pack200.RunCodec
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
decode(java.io.InputStream in)
Decode a sequence of bytes from the given input stream, returning the value as a long.int
decode(java.io.InputStream in, long last)
Decode a sequence of bytes from the given input stream, returning the value as a long.int[]
decodeInts(int n, java.io.InputStream in)
Decodes a sequence ofn
values fromin
.byte[]
encode(int value)
Encode a single value into a sequence of bytes.byte[]
encode(int value, int last)
Encode a single value into a sequence of bytes.Codec
getACodec()
Codec
getBCodec()
int
getK()
java.lang.String
toString()
-
Methods inherited from class org.apache.commons.compress.harmony.pack200.Codec
decodeInts, encode
-
-
-
-
Constructor Detail
-
RunCodec
public RunCodec(int k, Codec aCodec, Codec bCodec) throws Pack200Exception
- Throws:
Pack200Exception
-
-
Method Detail
-
decode
public int decode(java.io.InputStream in) throws java.io.IOException, Pack200Exception
Description copied from class:Codec
Decode a sequence of bytes from the given input stream, returning the value as a long. Note that this method can only be applied for non-delta encodings.- Specified by:
decode
in classCodec
- Parameters:
in
- the input stream to read from- Returns:
- the value as a long
- Throws:
java.io.IOException
- if there is a problem reading from the underlying input streamPack200Exception
- if the encoding is a delta encoding
-
decode
public int decode(java.io.InputStream in, long last) throws java.io.IOException, Pack200Exception
Description copied from class:Codec
Decode a sequence of bytes from the given input stream, returning the value as a long. If this encoding is a delta encoding (d=1) then the previous value must be passed in as a parameter. If it is a non-delta encoding, then it does not matter what value is passed in, so it makes sense for the value to be passed in by default using code similar to:long last = 0; while (condition) { last = codec.decode(in, last); // do something with last }
- Specified by:
decode
in classCodec
- Parameters:
in
- the input stream to read fromlast
- the previous value read, which must be supplied if the codec is a delta encoding- Returns:
- the value as a long
- Throws:
java.io.IOException
- if there is a problem reading from the underlying input streamPack200Exception
- if there is a problem decoding the value or that the value is invalid
-
decodeInts
public int[] decodeInts(int n, java.io.InputStream in) throws java.io.IOException, Pack200Exception
Description copied from class:Codec
Decodes a sequence ofn
values fromin
. This should probably be used in most cases, since some codecs (such asPopulationCodec
) only work when the number of values to be read is known.- Overrides:
decodeInts
in classCodec
- Parameters:
n
- the number of values to decodein
- the input stream to read from- Returns:
- an array of
int
values corresponding to values decoded - Throws:
java.io.IOException
- if there is a problem reading from the underlying input streamPack200Exception
- if there is a problem decoding the value or that the value is invalid
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
encode
public byte[] encode(int value, int last) throws Pack200Exception
Description copied from class:Codec
Encode a single value into a sequence of bytes.- Specified by:
encode
in classCodec
- Parameters:
value
- the value to encodelast
- the previous value encoded (for delta encodings)- Returns:
- the encoded bytes
- Throws:
Pack200Exception
- TODO
-
encode
public byte[] encode(int value) throws Pack200Exception
Description copied from class:Codec
Encode a single value into a sequence of bytes. Note that this method can only be used for non-delta encodings.- Specified by:
encode
in classCodec
- Parameters:
value
- the value to encode- Returns:
- the encoded bytes
- Throws:
Pack200Exception
- TODO
-
getK
public int getK()
-
-