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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic BHSDCodecgetCanonicalCodec(int i) static CodecgetCodec(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 intgetSpecifierForDefaultCodec(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
nullif 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
-