org.apache.commons.compress.harmony.pack200

## Class CodecEncoding

- java.lang.Object
- - org.apache.commons.compress.harmony.pack200.CodecEncoding

-     public class CodecEncoding
      extends Object

  CodecEncoding is used to get the right Codec for a given meta-encoding

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CodecEncoding()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static BHSDCodec` | `getCanonicalCodec(int i)`
    `static Codec` | `getCodec(int value, InputStream in, Codec defaultCodec)` Returns the codec specified by the given value byte and optional byte header.
    `static int[]` | `getSpecifier(Codec codec, Codec defaultForBand)`
    `static int` | `getSpecifierForDefaultCodec(BHSDCodec defaultCodec)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CodecEncoding

          public CodecEncoding()

  - ### Method Detail

    - #### getCanonicalCodec

          public static BHSDCodec getCanonicalCodec(int i)

    - #### getCodec

          public static Codec getCodec(int value,
                                       InputStream in,
                                       Codec defaultCodec)
                                throws IOException,
                                       Pack200Exception

      Returns 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 value
        `in` - the input stream to read additional byte headers from
        `defaultCodec` - 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

          public static int[] getSpecifier(Codec codec,
                                           Codec defaultForBand)

    - #### getSpecifierForDefaultCodec

          public static int getSpecifierForDefaultCodec(BHSDCodec defaultCodec)

Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.