Class PdfObjectTreeNode

All Implemented Interfaces:
Serializable, Cloneable, MutableTreeNode, TreeNode
Direct Known Subclasses:
PdfPagesTreeNode, PdfPageTreeNode, PdfTrailerTreeNode

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.
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      a serial version UID.
      See Also:
    • object

      protected PdfObject object
      the PDF object corresponding with this node.
    • 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.
    • recursive

      protected boolean recursive
      indicates if the object is indirect and recursive.
  • Constructor Details

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

    • 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
    • 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.
    • getPdfObject

      public PdfObject getPdfObject()
      Getter for the PDF Object.
      Returns:
      the PDF object represented by this tree node.
    • 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
    • isIndirectReference

      public boolean isIndirectReference()
      Tells you if the node contains an indirect reference.
      Returns:
      true if the object is an indirect reference
    • isIndirect

      public boolean isIndirect()
      Tells you if the object is indirect.
      Returns:
      true for indirect objects; false for direct objects.
    • isArray

      public boolean isArray()
      Tells you if the node contains an array.
      Returns:
      true if the object is a PdfArray
    • 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
      Returns:
      true if the node is a dictionary item with the specified key, false otherwise
    • isDictionary

      public boolean isDictionary()
      Tells you if the node contains a dictionary.
      Returns:
      true if the object is a PdfDictionary
    • isStream

      public boolean isStream()
      Tells you if the node contains a stream.
      Returns:
      true if the object is a PRStream
    • 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.
    • 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
    • getAncestor

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