fop 0.95

org.apache.fop.pdf
Class PDFStream

java.lang.Object
  extended by org.apache.fop.pdf.PDFObject
      extended by org.apache.fop.pdf.PDFDictionary
          extended by org.apache.fop.pdf.AbstractPDFStream
              extended by org.apache.fop.pdf.PDFStream
All Implemented Interfaces:
PDFWritable
Direct Known Subclasses:
PDFCMap, PDFICCStream, PDFMetadata, PDFTTFStream

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.
 int getDataLength()
          Returns the size of the content.
protected  int getSizeHint()
          Returns a value that hints at the size of the encoded stream.
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, 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
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

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
Parameters:
stream - the stream to write the PDF to
Returns:
the number of bytes written
Throws:
java.io.IOException - if there is an error writing to the stream

fop 0.95

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