PDF Clown
0.1.2

org.pdfclown.tokens
Class ObjectStream

java.lang.Object
  extended by org.pdfclown.objects.PdfObject
      extended by org.pdfclown.objects.PdfDataObject
          extended by org.pdfclown.objects.PdfStream
              extended by org.pdfclown.tokens.ObjectStream
All Implemented Interfaces:
Cloneable, Map<Integer,PdfDataObject>, IFileResource, IVisitable

public final class ObjectStream
extends PdfStream
implements Map<Integer,PdfDataObject>

Object stream containing a sequence of PDF objects [PDF:1.6:3.4.6].

The purpose of object streams is to allow a greater number of PDF objects to be compressed, thereby substantially reducing the size of PDF files. The objects in the stream are referred to as compressed objects.

Since:
0.1.0
Version:
0.1.2, 12/21/12
Author:
Stefano Chizzolini (http://www.stefanochizzolini.it)

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
ObjectStream()
           
ObjectStream(PdfDictionary header, IBuffer body)
           
 
Method Summary
 PdfObject accept(IVisitor visitor, Object data)
          Accepts a visit.
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<Integer,PdfDataObject>> entrySet()
           
 PdfDataObject get(Object key)
           
 ObjectStream getBaseStream()
          Gets the object stream extended by this one.
 boolean isEmpty()
           
 Set<Integer> keySet()
           
 PdfDataObject put(Integer key, PdfDataObject value)
          For internal use only.
 void putAll(Map<? extends Integer,? extends PdfDataObject> map)
           
 PdfDataObject remove(Object key)
          For internal use only.
 void setBaseStream(ObjectStream value)
           
 int size()
           
 Collection<PdfDataObject> values()
           
 void writeTo(IOutputStream stream, File context)
          Serializes this object to the specified stream.
 
Methods inherited from class org.pdfclown.objects.PdfStream
clone, getBody, getBody, getDataFile, getFilter, getHeader, getParameters, getParent, isUpdateable, isUpdated, isVirtual, setDataFile, setDataFile, setFilter, setParameters, setUpdateable, setUpdated, setVirtual, swap
 
Methods inherited from class org.pdfclown.objects.PdfObject
clone, clone, getContainer, getDataContainer, getFile, getIndirectObject, getReference, resolve, resolve, unresolve, unresolve, update
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

ObjectStream

public ObjectStream()

ObjectStream

public ObjectStream(PdfDictionary header,
                    IBuffer body)
Method Detail

accept

public PdfObject accept(IVisitor visitor,
                        Object data)
Description copied from interface: IVisitable
Accepts a visit.

Specified by:
accept in interface IVisitable
Overrides:
accept in class PdfStream
Parameters:
visitor - Visiting object.
data - Supplemental data.
Returns:
Result object.

getBaseStream

public ObjectStream getBaseStream()
Gets the object stream extended by this one.

Both streams are considered part of a collection of object streams whose links form a directed acyclic graph.


setBaseStream

public void setBaseStream(ObjectStream value)
See Also:
getBaseStream()

writeTo

public void writeTo(IOutputStream stream,
                    File context)
Description copied from class: PdfObject
Serializes this object to the specified stream.

Overrides:
writeTo in class PdfStream
Parameters:
stream - Target stream.
context - File context.

clear

public void clear()
Specified by:
clear in interface Map<Integer,PdfDataObject>

containsKey

public boolean containsKey(Object key)
Specified by:
containsKey in interface Map<Integer,PdfDataObject>

containsValue

public boolean containsValue(Object value)
Specified by:
containsValue in interface Map<Integer,PdfDataObject>

entrySet

public Set<Map.Entry<Integer,PdfDataObject>> entrySet()
Specified by:
entrySet in interface Map<Integer,PdfDataObject>

get

public PdfDataObject get(Object key)
Specified by:
get in interface Map<Integer,PdfDataObject>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map<Integer,PdfDataObject>

keySet

public Set<Integer> keySet()
Specified by:
keySet in interface Map<Integer,PdfDataObject>

put

public PdfDataObject put(Integer key,
                         PdfDataObject value)
For internal use only. If you need to add a data object into an object stream, invoke PdfIndirectObject.compress(ObjectStream) instead.

Specified by:
put in interface Map<Integer,PdfDataObject>

putAll

public void putAll(Map<? extends Integer,? extends PdfDataObject> map)
Specified by:
putAll in interface Map<Integer,PdfDataObject>

remove

public PdfDataObject remove(Object key)
For internal use only. If you need to remove a compressed data object from its object stream, invoke PdfIndirectObject.uncompress() instead.

Specified by:
remove in interface Map<Integer,PdfDataObject>

size

public int size()
Specified by:
size in interface Map<Integer,PdfDataObject>

values

public Collection<PdfDataObject> values()
Specified by:
values in interface Map<Integer,PdfDataObject>

PDF Clown
0.1.2

Project home page

Copyright © 2006-2013 Stefano Chizzolini. Some Rights Reserved.
This documentation is available under the terms of the GNU Free Documentation License.