com.lowagie.rups.view.itext.treenodes

Class PdfObjectTreeNode

public class PdfObjectTreeNode extends IconTreeNode

Every node in our tree corresponds with a PDF object. This class is the superclass of all tree nodes used.
Field Summary
protected PdfNamekey
the key if the parent of this node is a dictionary.
protected intnumber
if the object is indirect, the number of the PDF object.
protected PdfObjectobject
the PDF object corresponding with this node.
protected booleanrecursive
indicates if the object is indirect and recursive.
static longserialVersionUID
a serial version UID.
Constructor Summary
protected PdfObjectTreeNode(PdfObject object)
Creates a tree node for a PDF object.
protected PdfObjectTreeNode(String icon, PdfObject object)
Creates a tree node for a PDF object.
Method Summary
PdfObjectTreeNodegetAncestor()
Gets the tree path of an ancestor.
static StringgetCaption(PdfObject object)
Creates the caption for a PDF object.
static StringgetDictionaryEntryCaption(PdfDictionary dict, PdfName key)
Creates the caption for an object that is a dictionary entry.
static PdfObjectTreeNodegetInstance(PdfObject object)
Creates an instance of a tree node for a PDF object.
static PdfObjectTreeNodegetInstance(PdfObject object, int number)
Creates an instance of a tree node for an indirect object.
static PdfObjectTreeNodegetInstance(PdfDictionary dict, PdfName key)
Creates an instance of a tree node for the object corresponding with a key in a dictionary.
intgetNumber()
Getter for the object number in case the object is indirect.
PdfObjectgetPdfObject()
Getter for the PDF Object.
booleanisArray()
Tells you if the node contains an array.
booleanisDictionary()
Tells you if the node contains a dictionary.
booleanisDictionaryNode(PdfName key)
Checks if this node is a dictionary item with a specific key.
booleanisIndirect()
Tells you if the object is indirect.
booleanisIndirectReference()
Tells you if the node contains an indirect reference.
booleanisRecursive()
Tells you if the object is a reference to a node higher up in the tree.
booleanisStream()
Tells you if the node contains a stream.
voidsetRecursive(boolean recursive)
Set this to true if the object is a reference to a node higher up in the tree.

Field Detail

key

protected PdfName key
the key if the parent of this node is a dictionary.

number

protected int number
if the object is indirect, the number of the PDF object.

object

protected PdfObject object
the PDF object corresponding with this node.

recursive

protected boolean recursive
indicates if the object is indirect and recursive.

serialVersionUID

private static final long serialVersionUID
a serial version UID.

Constructor Detail

PdfObjectTreeNode

protected PdfObjectTreeNode(PdfObject object)
Creates a tree node for a PDF object.

Parameters: object the PDF object represented by this tree node.

PdfObjectTreeNode

protected PdfObjectTreeNode(String icon, PdfObject object)
Creates a tree node for a PDF object.

Parameters: icon the file with the icon object the PDF object represented by this tree node.

Method Detail

getAncestor

public PdfObjectTreeNode getAncestor()
Gets the tree path of an ancestor. This only works with recursive references

Returns: the treepath to an ancestor

getCaption

public static String getCaption(PdfObject object)
Creates the caption for a PDF object.

Parameters: object the object for which a caption has to be created.

Returns: a caption for a PDF object

getDictionaryEntryCaption

public static String getDictionaryEntryCaption(PdfDictionary dict, PdfName key)
Creates the caption for an object that is a dictionary entry.

Parameters: dict a dictionary key a key in the dictionary

Returns: a caption for the object corresponding with the key in the dictionary.

getInstance

public static PdfObjectTreeNode getInstance(PdfObject object)
Creates an instance of a tree node for a PDF object.

Parameters: object the PDF object represented by this tree node.

Returns: a PdfObjectTreeNode

getInstance

public static PdfObjectTreeNode getInstance(PdfObject object, int number)
Creates an instance of a tree node for an indirect object.

Parameters: object the PDF object represented by this tree node. number the xref number of the indirect object

Returns: a PdfObjectTreeNode

getInstance

public static PdfObjectTreeNode getInstance(PdfDictionary dict, PdfName key)
Creates an instance of a tree node for the object corresponding with a key in a dictionary.

Parameters: dict the dictionary that is the parent of this tree node. key the dictionary key corresponding with the PDF object in this tree node.

Returns: a PdfObjectTreeNode

getNumber

public int getNumber()
Getter for the object number in case the object is indirect.

Returns: -1 for direct objects; the object number for indirect objects

getPdfObject

public PdfObject getPdfObject()
Getter for the PDF Object.

Returns: the PDF object represented by this tree node.

isArray

public boolean isArray()
Tells you if the node contains an array.

Returns: true if the object is a PdfArray

isDictionary

public boolean isDictionary()
Tells you if the node contains a dictionary.

Returns: true if the object is a PdfDictionary

isDictionaryNode

public boolean isDictionaryNode(PdfName key)
Checks if this node is a dictionary item with a specific key.

Parameters: key the key of the node we're looking for

isIndirect

public boolean isIndirect()
Tells you if the object is indirect.

Returns: true for indirect objects; false for direct objects.

isIndirectReference

public boolean isIndirectReference()
Tells you if the node contains an indirect reference.

Returns: true if the object is an indirect reference

isRecursive

public boolean isRecursive()
Tells you if the object is a reference to a node higher up in the tree.

Returns: true if the node is used recursively.

isStream

public boolean isStream()
Tells you if the node contains a stream.

Returns: true if the object is a PRStream

setRecursive

public void setRecursive(boolean recursive)
Set this to true if the object is a reference to a node higher up in the tree.

Parameters: recursive true if the object is indirect and recursive