com.itextpdf.rups.model
Class TreeNodeFactory

java.lang.Object
  extended by com.itextpdf.rups.model.TreeNodeFactory

public class TreeNodeFactory
extends Object

A factory that creates TreeNode objects corresponding with PDF objects.


Field Summary
protected  ArrayList<PdfObjectTreeNode> nodes
          An list containing the nodes of every indirect object.
protected  IndirectObjectFactory objects
          The factory that can produce all indirect objects.
 
Constructor Summary
TreeNodeFactory(IndirectObjectFactory objects)
          Creates a factory that can produce TreeNode objects corresponding with PDF objects.
 
Method Summary
private  void addNodes(PdfObjectTreeNode parent, PdfObjectTreeNode child)
          Tries adding a child node to a parent node without throwing an exception.
 void expandNode(PdfObjectTreeNode node)
          Creates the Child TreeNode objects for a PDF object TreeNode.
 PdfObjectTreeNode getChildNode(PdfObjectTreeNode node, PdfName key)
          Finds a specific child of dictionary node.
 PdfObjectTreeNode getNode(int ref)
          Gets a TreeNode for an indirect objects.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

objects

protected IndirectObjectFactory objects
The factory that can produce all indirect objects.


nodes

protected ArrayList<PdfObjectTreeNode> nodes
An list containing the nodes of every indirect object.

Constructor Detail

TreeNodeFactory

public TreeNodeFactory(IndirectObjectFactory objects)
Creates a factory that can produce TreeNode objects corresponding with PDF objects.

Parameters:
objects - a factory that can produce all the indirect objects of a PDF file.
Method Detail

getNode

public PdfObjectTreeNode getNode(int ref)
Gets a TreeNode for an indirect objects.

Parameters:
ref - the reference number of the indirect object.
Returns:
the TreeNode representing the PDF object

expandNode

public void expandNode(PdfObjectTreeNode node)
Creates the Child TreeNode objects for a PDF object TreeNode.

Parameters:
node - the parent node

getChildNode

public PdfObjectTreeNode getChildNode(PdfObjectTreeNode node,
                                      PdfName key)
Finds a specific child of dictionary node.

Parameters:
node - the node with a dictionary among its children
key - the key of the item corresponding with the node we need

addNodes

private void addNodes(PdfObjectTreeNode parent,
                      PdfObjectTreeNode child)
Tries adding a child node to a parent node without throwing an exception. Normally, if the child node is already added as one of the ancestors, an IllegalArgumentException is thrown (to avoid an endless loop). Loops like this are allowed in PDF, not in a JTree.

Parameters:
parent - the parent node
child - a child node

Hosted by Hostbasket