org.apache.fop.pdf

## Class PDFFilter

- java.lang.Object
- - org.apache.fop.pdf.PDFFilter

Direct Known Subclasses:
  ASCII85Filter, ASCIIHexFilter, FlateFilter, NullFilter

    public abstract class PDFFilter
    extends Object

PDF Filter class. This class represents a PDF filter object. Filter implementations should extend this class.

This work was authored by Eric Schaeffer and Kelly A. Campbell.

### Constructor Summary

Constructors
Constructor and Description
`PDFFilter()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`abstract OutputStream` `applyFilter(OutputStream out)` Applies a filter to an OutputStream.
`abstract PDFObject` `getDecodeParms()` return a parameter dictionary for this filter, or null
`abstract String` `getName()` return a PDF string representation of the filter, e.g.
`boolean` `isApplied()` Check if this filter has been applied.
`boolean` `isASCIIFilter()` Returns true if the filter is an ASCII filter that isn't necessary when encryption is active.
`void` `setApplied(boolean b)` Set the applied attribute to the given value.

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

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

### Constructor Detail

#### PDFFilter

    public PDFFilter()

### Method Detail

#### isApplied

    public boolean isApplied()

Check if this filter has been applied.

Returns:
  true if this filter has been applied

#### setApplied

    public void setApplied(boolean b)

Set the applied attribute to the given value. This attribute is used to determine if this filter is just a placeholder for the decodeparms and dictionary entries, or if the filter needs to actually encode the data. For example if the raw data is copied out of an image file in it's compressed format, then this should be set to true and the filter options should be set to those which the raw data was encoded with.

Parameters:
  `b` - set the applied value to this

#### getName

    public abstract String getName()

return a PDF string representation of the filter, e.g. /FlateDecode

Returns:
  the filter PDF name

#### isASCIIFilter

    public boolean isASCIIFilter()

Returns true if the filter is an ASCII filter that isn't necessary when encryption is active.

Returns:
  boolean True if this filter is an ASCII filter

#### getDecodeParms

    public abstract PDFObject getDecodeParms()

return a parameter dictionary for this filter, or null

Returns:
  the decode params for the filter

#### applyFilter

    public abstract OutputStream applyFilter(OutputStream out)
                                      throws IOException

Applies a filter to an OutputStream.

Parameters:
  `out` - contents to be filtered
Returns:
  OutputStream filtered contents
Throws:
  `IOException` - In case of an I/O problem