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

## org.pdfbox.cos
Class COSStream

    java.lang.Object
      org.pdfbox.cos.COSBase
          org.pdfbox.cos.COSDictionary
              org.pdfbox.cos.COSStream

All Implemented Interfaces:
  COSObjectable

Direct Known Subclasses:
  COSStreamArray

public class COSStream
extends COSDictionary

This class represents a stream object in a PDF document.

Version:
  $Revision: 1.34 $
Author:
  Ben Litchfield (ben@csh.rit.edu)

Constructor Summary
`COSStream(COSDictionary dictionary, RandomAccessFile storage)` Constructor.
`COSStream(RandomAccessFile storage)` Constructor.

Method Summary
`Object` | `accept(ICOSVisitor visitor)` visitor pattern double dispatch method.
`OutputStream` | `createFilteredStream()` This will create a new stream for which filtered byte should be written to.
`OutputStream` | `createFilteredStream(COSBase expectedLength)` This will create a new stream for which filtered byte should be written to.
`OutputStream` | `createUnfilteredStream()` This will create an output stream that can be written to.
`InputStream` | `getFilteredStream()` This will get the stream with all of the filters applied.
`COSBase` | `getFilters()` This will return the filters to apply to the byte stream.
`RandomAccessFile` | `getScratchFile()` This will get the scratch file associated with this stream.
`List` | `getStreamTokens()` This will get all the tokens in the stream.
`InputStream` | `getUnfilteredStream()` This will get the logical content stream with none of the filters.
`void` | `replaceWithStream(COSStream stream)` This will replace this object with the data from the new object.
`void` | `setFilters(COSBase filters)` set the filters to be applied to the stream.

Methods inherited from class org.pdfbox.cos.COSDictionary
`addAll, clear, getBoolean, getBoolean, getDictionaryObject, getDictionaryObject, getDictionaryObject, getFloat, getFloat, getFloat, getFloat, getInt, getInt, getInt, getInt, getInt, getItem, getNameAsString, getNameAsString, getNameAsString, getNameAsString, getObjectFromPath, getString, getString, getString, getString, getValues, keyList, mergeInto, removeItem, setFloat, setFloat, setInt, setInt, setItem, setItem, setItem, setItem, setItem, setItem, setName, setName, setString, setString, size`

Methods inherited from class org.pdfbox.cos.COSBase
`getCOSObject, getFilterManager`

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

Constructor Detail

### COSStream

    public COSStream(RandomAccessFile storage)

  Constructor. Creates a new stream with an empty dictionary.

Parameters:
  `storage` - The intermediate storage for the stream.

### COSStream

    public COSStream(COSDictionary dictionary,
                     RandomAccessFile storage)

  Constructor.

Parameters:
  `dictionary` - The dictionary that is associated with this stream.
  `storage` - The intermediate storage for the stream.

Method Detail

### replaceWithStream

    public void replaceWithStream(COSStream stream)

  This will replace this object with the data from the new object. This is used to easily maintain referential integrity when changing references to new objects.

  Parameters:
    `stream` - The stream that have the new values in it.

### getScratchFile

    public RandomAccessFile getScratchFile()

  This will get the scratch file associated with this stream.

  Returns:
    The scratch file where this stream is being stored.

### getStreamTokens

    public List getStreamTokens()
                         throws IOException

  This will get all the tokens in the stream.

  Returns:
    All of the tokens in the stream.
  Throws:
    `IOException` - If there is an error parsing the stream.

### getFilteredStream

    public InputStream getFilteredStream()
                                  throws IOException

  This will get the stream with all of the filters applied.

  Returns:
    the bytes of the physical (endoced) stream
  Throws:
    `IOException` - when encoding/decoding causes an exception

### getUnfilteredStream

    public InputStream getUnfilteredStream()
                                    throws IOException

  This will get the logical content stream with none of the filters.

  Returns:
    the bytes of the logical (decoded) stream
  Throws:
    `IOException` - when encoding/decoding causes an exception

### accept

    public Object accept(ICOSVisitor visitor)
                  throws COSVisitorException

  visitor pattern double dispatch method.

  Overrides:
    `accept` in class `COSDictionary`
  Parameters:
    `visitor` - The object to notify when visiting this object.
  Returns:
    any object, depending on the visitor implementation, or null
  Throws:
    `COSVisitorException` - If an error occurs while visiting this object.

### getFilters

    public COSBase getFilters()

  This will return the filters to apply to the byte stream. The method will return - null if no filters are to be applied - a COSName if one filter is to be applied - a COSArray containing COSNames if multiple filters are to be applied

  Returns:
    the COSBase object representing the filters

### createFilteredStream

    public OutputStream createFilteredStream()
                                      throws IOException

  This will create a new stream for which filtered byte should be written to. You probably don't want this but want to use the createUnfilteredStream, which is used to write raw bytes to.

  Returns:
    A stream that can be written to.
  Throws:
    `IOException` - If there is an error creating the stream.

### createFilteredStream

    public OutputStream createFilteredStream(COSBase expectedLength)
                                      throws IOException

  This will create a new stream for which filtered byte should be written to. You probably don't want this but want to use the createUnfilteredStream, which is used to write raw bytes to.

  Parameters:
    `expectedLength` - An entry where a length is expected.
  Returns:
    A stream that can be written to.
  Throws:
    `IOException` - If there is an error creating the stream.

### setFilters

    public void setFilters(COSBase filters)
                    throws IOException

  set the filters to be applied to the stream.

  Parameters:
    `filters` - The filters to set on this stream.
  Throws:
    `IOException` - If there is an error clearing the old filters.

### createUnfilteredStream

    public OutputStream createUnfilteredStream()
                                        throws IOException

  This will create an output stream that can be written to.

  Returns:
    An output stream which raw data bytes should be written to.
  Throws:
    `IOException` - If there is an error creating the stream.

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