Class TreeNodeFactory

java.lang.Object
com.lowagie.rups.model.TreeNodeFactory

public class TreeNodeFactory extends Object
A factory that creates TreeNode objects corresponding with PDF objects.
  • Field Details

  • Constructor Details

    • 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 Details

    • 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
      Returns:
      the PdfObjectTreeNode that is the child of the dictionary node
    • 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