TIFFLZWDecoder
Date: 2016-04-28

org.apache.xmlgraphics.image.codec.tiff

## Class TIFFLZWDecoder

- java.lang.Object
- - org.apache.xmlgraphics.image.codec.tiff.TIFFLZWDecoder

-     public class TIFFLZWDecoder
      extends java.lang.Object

  A class for performing LZW decoding.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TIFFLZWDecoder(int w, int predictor, int samplesPerPixel)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addStringToTable(byte[] string)` Add a new string to the string table.
    `void` | `addStringToTable(byte[] oldString, byte newString)` Add a new string to the string table.
    `byte[]` | `composeString(byte[] oldString, byte newString)` Append `newString` to the end of `oldString`.
    `byte[]` | `decode(byte[] data, byte[] uncompData, int h)` Method to decode LZW compressed data.
    `int` | `getNextCode()`
    `void` | `initializeStringTable()` Initialize the string table.
    `void` | `writeString(byte[] string)` Write out the string just uncompressed.

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

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

- - ### Constructor Detail

    - #### TIFFLZWDecoder

          public TIFFLZWDecoder(int w,
                        int predictor,
                        int samplesPerPixel)

  - ### Method Detail

    - #### decode

          public byte[] decode(byte[] data,
                      byte[] uncompData,
                      int h)

      Method to decode LZW compressed data.
      Parameters:
        `data` - The compressed data.
        `uncompData` - Array to return the uncompressed data in.
        `h` - The number of rows the compressed data contains.

    - #### initializeStringTable

          public void initializeStringTable()

      Initialize the string table.

    - #### writeString

          public void writeString(byte[] string)

      Write out the string just uncompressed.

    - #### addStringToTable

          public void addStringToTable(byte[] oldString,
                              byte newString)

      Add a new string to the string table.

    - #### addStringToTable

          public void addStringToTable(byte[] string)

      Add a new string to the string table.

    - #### composeString

          public byte[] composeString(byte[] oldString,
                             byte newString)

      Append `newString` to the end of `oldString`.

    - #### getNextCode

          public int getNextCode()