org.pdfbox.pdmodel.common

Class COSStreamArray

Implemented Interfaces:
COSObjectable

public class COSStreamArray
extends COSStream

This will take an array of streams and sequence them together.
Version:
$Revision: 1.9 $
Author:
Ben Litchfield

Constructor Summary

COSStreamArray(COSArray array)
Constructor.

Method Summary

Object
accept(ICOSVisitor visitor)
visitor pattern double dispatch method.
void
appendStream(COSStream streamToAppend)
Appends a new stream to the array that represents this object's stream.
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.
COSDictionary
getDictionary()
This will get the dictionary that is associated with this stream.
COSBase
getDictionaryObject(COSName key)
This will get an object from this streams dictionary and dereference it if necessary.
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 the method will return.
COSBase
getItem(COSName key)
This will get an object from this streams dictionary.
RandomAccess
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
setFilters(COSBase filters)
set the filters to be applied to the stream.
String
toString()

Methods inherited from class org.pdfbox.cos.COSStream

accept, createFilteredStream, createFilteredStream, createUnfilteredStream, getFilteredStream, getFilters, getScratchFile, getStreamTokens, getUnfilteredStream, replaceWithStream, setFilters

Methods inherited from class org.pdfbox.cos.COSDictionary

accept, addAll, clear, containsValue, getBoolean, getBoolean, getDate, getDate, getDate, getDate, getDictionaryObject, getDictionaryObject, getDictionaryObject, getDictionaryObject, getEmbeddedDate, getEmbeddedDate, getEmbeddedDate, getEmbeddedDate, getEmbeddedInt, getEmbeddedInt, getEmbeddedInt, getEmbeddedInt, getEmbeddedString, getEmbeddedString, getEmbeddedString, getEmbeddedString, getFloat, getFloat, getFloat, getFloat, getInt, getInt, getInt, getInt, getInt, getItem, getKeyForValue, getLong, getLong, getLong, getLong, getLong, getNameAsString, getNameAsString, getNameAsString, getNameAsString, getObjectFromPath, getString, getString, getString, getString, getValues, keyList, mergeInto, removeItem, setBoolean, setBoolean, setDate, setDate, setEmbeddedDate, setEmbeddedDate, setEmbeddedInt, setEmbeddedInt, setEmbeddedString, setEmbeddedString, setFloat, setFloat, setInt, setInt, setItem, setItem, setItem, setItem, setLong, setLong, setName, setName, setString, setString, size

Methods inherited from class org.pdfbox.cos.COSBase

accept, getCOSObject, getFilterManager

Constructor Details

COSStreamArray

public COSStreamArray(COSArray array)
Constructor.
Parameters:
array - The array of COSStreams to concatenate together.

Method Details

accept

public Object accept(ICOSVisitor visitor)
            throws COSVisitorException
visitor pattern double dispatch method.
Overrides:
accept in interface COSStream
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.

appendStream

public void appendStream(COSStream streamToAppend)
Appends a new stream to the array that represents this object's stream.
Parameters:
streamToAppend - The stream to append.

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.
Overrides:
createFilteredStream in interface COSStream
Returns:
A stream that can be written to.

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.
Overrides:
createFilteredStream in interface COSStream
Parameters:
expectedLength - An entry where a length is expected.
Returns:
A stream that can be written to.

createUnfilteredStream

public OutputStream createUnfilteredStream()
            throws IOException
This will create an output stream that can be written to.
Overrides:
createUnfilteredStream in interface COSStream
Returns:
An output stream which raw data bytes should be written to.

getDictionary

public COSDictionary getDictionary()
This will get the dictionary that is associated with this stream.
Returns:
the object that is associated with this stream.

getDictionaryObject

public COSBase getDictionaryObject(COSName key)
This will get an object from this streams dictionary and dereference it if necessary.
Overrides:
getDictionaryObject in interface COSDictionary
Parameters:
key - The key to the object.
Returns:
The dictionary object with the key or null if one does not exist.

getFilteredStream

public InputStream getFilteredStream()
            throws IOException
This will get the stream with all of the filters applied.
Overrides:
getFilteredStream in interface COSStream
Returns:
the bytes of the physical (endoced) stream

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
Overrides:
getFilters in interface COSStream
Returns:
the COSBase object representing the filters

getItem

public COSBase getItem(COSName key)
This will get an object from this streams dictionary.
Overrides:
getItem in interface COSDictionary
Parameters:
key - The key to the object.
Returns:
The dictionary object with the key or null if one does not exist.

getScratchFile

public RandomAccess getScratchFile()
This will get the scratch file associated with this stream.
Overrides:
getScratchFile in interface COSStream
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.
Overrides:
getStreamTokens in interface COSStream
Returns:
All of the tokens in the stream.

getUnfilteredStream

public InputStream getUnfilteredStream()
            throws IOException
This will get the logical content stream with none of the filters.
Overrides:
getUnfilteredStream in interface COSStream
Returns:
the bytes of the logical (decoded) stream

setFilters

public void setFilters(COSBase filters)
            throws IOException
set the filters to be applied to the stream.
Overrides:
setFilters in interface COSStream
Parameters:
filters - The filters to set on this stream.

toString

public String toString()