com.lowagie.text.pdf.codec

## Class TIFFLZWDecoder

- java.lang.Object
- - com.lowagie.text.pdf.codec.TIFFLZWDecoder

-     public class TIFFLZWDecoder
      extends java.lang.Object

  A class for performing LZW decoding.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) int[]` | `andTable`
    `(package private) int` | `bitPointer`
    `(package private) int` | `bitsToGet`
    `(package private) int` | `bytePointer`
    `(package private) byte[]` | `data`
    `(package private) int` | `dstIndex`
    `(package private) int` | `h`
    `(package private) int` | `nextBits`
    `(package private) int` | `nextData`
    `(package private) int` | `predictor`
    `(package private) int` | `samplesPerPixel`
    `(package private) byte[][]` | `stringTable`
    `(package private) int` | `tableIndex`
    `(package private) byte[]` | `uncompData`
    `(package private) int` | `w`

  - ### 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`

- - ### Field Detail

    - #### stringTable

          byte[][] stringTable

    - #### data

          byte[] data

    - #### uncompData

          byte[] uncompData

    - #### tableIndex

          int tableIndex

    - #### bitsToGet

          int bitsToGet

    - #### bytePointer

          int bytePointer

    - #### bitPointer

          int bitPointer

    - #### dstIndex

          int dstIndex

    - #### w

          int w

    - #### h

          int h

    - #### predictor

          int predictor

    - #### samplesPerPixel

          int samplesPerPixel

    - #### nextData

          int nextData

    - #### nextBits

          int nextBits

    - #### andTable

          int[] andTable

  - ### 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()