org.apache.fop.pdf

## Class PDFICCStream

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.AbstractPDFStream
    - - org.apache.fop.pdf.PDFStream
      - - org.apache.fop.pdf.PDFICCStream

All Implemented Interfaces:
  PDFWritable

    public class PDFICCStream
    extends PDFStream

Special PDFStream for ICC profiles (color profiles).

### Field Summary

### Fields inherited from class org.apache.fop.pdf.PDFStream

`data`

### Fields inherited from class org.apache.fop.pdf.PDFObject

`log`

### Constructor Summary

Constructors
Constructor and Description
`PDFICCStream()`

### Method Summary

All Methods Instance Methods Concrete Methods
`ICC_Profile` `getICCProfile()` Returns the associated ICC profile.
`int` `output(OutputStream stream)` overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
`protected void` `outputRawStreamData(OutputStream out)` Sends the raw stream data to the target OutputStream.
`protected void` `populateStreamDict(Object lengthEntry)` Populates the dictionary with all necessary entries for the stream.
`void` `setColorSpace(ICC_Profile icc, PDFDeviceColorSpace alt)` Sets the color space to encode in PDF.

### Methods inherited from class org.apache.fop.pdf.PDFStream

`add, add, getBufferOutputStream, getBufferWriter, getDataLength, getSizeHint, setData, streamHashCode`

### Methods inherited from class org.apache.fop.pdf.AbstractPDFStream

`encodeAndWriteStream, encodeStream, get, getChildren, getDefaultFilterName, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, prepareImplicitFilters, put, registerChildren, setDocument, setupFilterList, supportsObjectStream`

### Methods inherited from class org.apache.fop.pdf.PDFObject

`contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString`

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

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

### Constructor Detail

#### PDFICCStream

    public PDFICCStream()

See Also:
  `PDFObject.PDFObject()`

### Method Detail

#### setColorSpace

    public void setColorSpace(ICC_Profile icc,
                              PDFDeviceColorSpace alt)

Sets the color space to encode in PDF.

Parameters:
  `icc` - the ICC profile
  `alt` - the PDF color space

#### getICCProfile

    public ICC_Profile getICCProfile()

Returns the associated ICC profile. Note that this will return null once the ICC stream has been written to the PDF file.

Returns:
  the ICC profile (or null if the stream has already been written)

#### output

    public int output(OutputStream stream)
               throws IOException

overload the base object method so we don't have to copy byte arrays around so much Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object

Overrides:
  `output` in class `PDFStream`
Parameters:
  `stream` - the stream to write the PDF to
Returns:
  the number of bytes written
Throws:
  `IOException` - if there is an error writing to the stream

#### outputRawStreamData

    protected void outputRawStreamData(OutputStream out)
                                throws IOException

Sends the raw stream data to the target OutputStream.

Overrides:
  `outputRawStreamData` in class `PDFStream`
Parameters:
  `out` - OutputStream to write to
Throws:
  `IOException` - In case of an I/O problem

#### populateStreamDict

    protected void populateStreamDict(Object lengthEntry)

Populates the dictionary with all necessary entries for the stream. Override this method if you need additional entries.

Overrides:
  `populateStreamDict` in class `AbstractPDFStream`
Parameters:
  `lengthEntry` - value for the /Length entry