Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.pdf
Class PDFStream

    java.lang.Object
      org.apache.fop.pdf.PDFObject
          org.apache.fop.pdf.PDFDictionary
              org.apache.fop.pdf.AbstractPDFStream
                  org.apache.fop.pdf.PDFStream

All Implemented Interfaces:
  PDFWritable

Direct Known Subclasses:
  PDFCMap, PDFICCStream, PDFMetadata

public class PDFStream
extends AbstractPDFStream

Class representing a PDF stream.

A derivative of the PDF Object, a PDF Stream has not only a dictionary but a stream of PDF commands. The stream of commands is where the real work is done, the dictionary just provides information like the stream length.

Field Summary
`protected StreamCache` | `data` The stream of PDF commands

Fields inherited from class org.apache.fop.pdf.PDFDictionary
`entries, order`

Fields inherited from class org.apache.fop.pdf.PDFObject
`DATE_FORMAT, log`

Constructor Summary
`PDFStream()` Create an empty stream object

Method Summary
`void` | `add(java.lang.String s)` Append data to the stream
`java.io.OutputStream` | `getBufferOutputStream()` Returns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.
`java.io.Writer` | `getBufferWriter()` Returns a Writer that writes to the OutputStream of the buffer.
`int` | `getDataLength()` Returns the size of the content.
`protected int` | `getSizeHint()` Returns a value that hints at the size of the encoded stream. This is used to optimize buffer allocation so fewer buffer reallocations are necessary.
`protected int` | `output(java.io.OutputStream stream)` 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(java.io.OutputStream out)` Sends the raw stream data to the target OutputStream.
`void` | `setData(byte[] data)` Used to set the contents of the PDF stream.

Methods inherited from class org.apache.fop.pdf.AbstractPDFStream
`encodeAndWriteStream, encodeStream, getDefaultFilterName, getFilterList, outputStreamData, populateStreamDict, prepareImplicitFilters, setupFilterList`

Methods inherited from class org.apache.fop.pdf.PDFDictionary
`get, put, put, writeDictionary`

Methods inherited from class org.apache.fop.pdf.PDFObject
`contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatDateTime, formatDateTime, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setParent, toPDF, toPDFString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### data

    protected StreamCache data

  The stream of PDF commands

Constructor Detail

### PDFStream

    public PDFStream()

  Create an empty stream object

Method Detail

### add

    public void add(java.lang.String s)

  Append data to the stream

  Parameters:
    `s` - the string of PDF to add

### getBufferWriter

    public java.io.Writer getBufferWriter()

  Returns a Writer that writes to the OutputStream of the buffer.

  Returns:
    the Writer

### getBufferOutputStream

    public java.io.OutputStream getBufferOutputStream()
                                               throws java.io.IOException

  Returns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.

  Returns:
    the OutputStream
  Throws:
    `java.io.IOException` - In case of an I/O problem

### setData

    public void setData(byte[] data)
                 throws java.io.IOException

  Used to set the contents of the PDF stream.

  Parameters:
    `data` - the contents as a byte array
  Throws:
    `java.io.IOException` - in case of an I/O problem

### getDataLength

    public int getDataLength()

  Returns the size of the content.

  Returns:
    size of the content

### getSizeHint

    protected int getSizeHint()
                       throws java.io.IOException

  Returns a value that hints at the size of the encoded stream. This is used to optimize buffer allocation so fewer buffer reallocations are necessary.

  Specified by:
    `getSizeHint` in class `AbstractPDFStream`
  Returns:
    an estimated size (0 if no hint can be given)
  Throws:
    `java.io.IOException` - in case of an I/O problem

### outputRawStreamData

    protected void outputRawStreamData(java.io.OutputStream out)
                                throws java.io.IOException

  Sends the raw stream data to the target OutputStream.

  Specified by:
    `outputRawStreamData` in class `AbstractPDFStream`
  Parameters:
    `out` - OutputStream to write to
  Throws:
    `java.io.IOException` - In case of an I/O problem

### output

    protected int output(java.io.OutputStream stream)
                  throws java.io.IOException

  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 `AbstractPDFStream`
  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.