Class CodecEncoding
java.lang.Object
org.apache.commons.compress.harmony.pack200.CodecEncoding
CodecEncoding is used to get the right Codec for a given meta-encoding.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic BHSDCodec
getCanonicalCodec
(int i) static Codec
getCodec
(int value, InputStream in, Codec defaultCodec) Gets the codec specified by the given value byte and optional byte header.static int[]
getSpecifier
(Codec codec, Codec defaultForBand) static int
getSpecifierForDefaultCodec
(BHSDCodec defaultCodec)
-
Constructor Details
-
CodecEncoding
public CodecEncoding()
-
-
Method Details
-
getCanonicalCodec
-
getCodec
public static Codec getCodec(int value, InputStream in, Codec defaultCodec) throws IOException, Pack200Exception Gets the codec specified by the given value byte and optional byte header. If the value is >= 116, then bytes may be consumed from the secondary input stream, which is taken to be the contents of the band_headers byte array. Since the values from this are consumed and not repeated, the input stream should be reused for subsequent encodings. This does not therefore close the input stream.- Parameters:
value
- the canonical encoding valuein
- the input stream to read additional byte headers fromdefaultCodec
- TODO- Returns:
- the corresponding codec, or
null
if the default should be used - Throws:
IOException
- if there is a problem reading from the input stream (which in reality, is never, since the band_headers are likely stored in a byte array and accessed via a ByteArrayInputStream. However, an EOFException could occur if things go wrong)Pack200Exception
- TODO
-
getSpecifier
-
getSpecifierForDefaultCodec
-