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