com.sun.pdfview.decode

## Class Predictor

- java.lang.Object
- - com.sun.pdfview.decode.Predictor

Direct Known Subclasses:
  PNGPredictor, TIFFPredictor

    public abstract class Predictor
    extends java.lang.Object

The abstract superclass of various predictor objects that undo well-known prediction algorithms.

### Field Summary

Fields
`static int` `PNG`
`static int` `TIFF` well known algorithms

### Constructor Summary

Constructors
`protected` `Predictor(int algorithm)` Create an instance of a predictor.

### Method Summary

Methods
`int` `getAlgorithm()` Get the algorithm in use
`int` `getBitsPerComponent()` Get the number of bits per color component
`int` `getColors()` Get the number of colors per sample
`int` `getColumns()` Get the number of columns
`static Predictor` `getPredictor(PDFObject params)` Get an instance of a predictor
`void` `setBitsPerComponent(int bpc)` Set the number of bits per color component
`protected void` `setColors(int colors)` Set the number of colors per sample
`void` `setColumns(int columns)` Set the number of columns
`abstract java.nio.ByteBuffer` `unpredict(java.nio.ByteBuffer imageData)` Actually perform this algorithm on decoded image data.

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

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

### Field Detail

#### TIFF

    public static final int TIFF

well known algorithms

See Also:
  Constant Field Values

#### PNG

    public static final int PNG

See Also:
  Constant Field Values

### Constructor Detail

#### Predictor

    protected Predictor(int algorithm)

Create an instance of a predictor. Use `getPredictor()` instead of this.

### Method Detail

#### unpredict

    public abstract java.nio.ByteBuffer unpredict(java.nio.ByteBuffer imageData)
                                           throws java.io.IOException

Actually perform this algorithm on decoded image data. Subclasses must implement this method

Throws:
  `java.io.IOException`

#### getPredictor

    public static Predictor getPredictor(PDFObject params)
                                  throws java.io.IOException

Get an instance of a predictor

Parameters:
  `params` - the filter parameters
Throws:
  `java.io.IOException`

#### getAlgorithm

    public int getAlgorithm()

Get the algorithm in use

Returns:
  one of the known algorithm types

#### getColors

    public int getColors()

Get the number of colors per sample

#### setColors

    protected void setColors(int colors)

Set the number of colors per sample

#### getBitsPerComponent

    public int getBitsPerComponent()

Get the number of bits per color component

#### setBitsPerComponent

    public void setBitsPerComponent(int bpc)

Set the number of bits per color component

#### getColumns

    public int getColumns()

Get the number of columns

#### setColumns

    public void setColumns(int columns)

Set the number of columns