## com.lowagie.tools.plugins.treeview
Class AnalyzePDF

    java.lang.Object
      java.lang.Thread
          com.lowagie.tools.plugins.treeview.AnalyzePDF

All Implemented Interfaces:
  ICommonAnalyzer, java.lang.Runnable, javax.swing.tree.TreeModel

    public class AnalyzePDF

extends java.lang.Thread
implements javax.swing.tree.TreeModel, ICommonAnalyzer

Nested Class Summary

Nested classes/interfaces inherited from class java.lang.Thread
`java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

Field Summary
`(package private) javax.swing.tree.DefaultMutableTreeNode` `filenode`
`(package private) int` `numberofpages`
`(package private) int` `pagecount`
`(package private) java.util.ArrayList` `pageInh`
`(package private) ProgressDialog` `progressdialog`
`(package private) PdfReader` `reader`
`(package private) javax.swing.tree.DefaultMutableTreeNode` `root`
`private java.util.Vector` `treeModelListeners`

Fields inherited from class java.lang.Thread
`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

Constructor Summary
`AnalyzePDF(java.lang.String infile, ProgressDialog blubb)`

Method Summary
`void` `addTreeModelListener(javax.swing.event.TreeModelListener l)`
`protected void` `fireTreeNodesChanged(javax.swing.event.TreeModelEvent e)`
`protected void` `fireTreeNodesInserted(javax.swing.event.TreeModelEvent e)`
`protected void` `fireTreeNodesRemoved(javax.swing.event.TreeModelEvent e)`
`protected void` `fireTreeStructureChanged(javax.swing.event.TreeModelEvent e)`
`java.lang.Object` `getChild(java.lang.Object parent, int index)` Returns the child of `parent` at index `index` in the parent's child array.
`int` `getChildCount(java.lang.Object parent)` Returns the number of children of `parent`.
`int` `getIndexOfChild(java.lang.Object parent, java.lang.Object child)` Returns the index of child in parent.
`int` `getPagecount()`
`java.lang.Object` `getRoot()` Returns the root of the tree.
`javax.swing.table.TableModel` `getXReftable()`
`boolean` `isLeaf(java.lang.Object node)` Returns `true` if `node` is a leaf.
`void` `iterateObjects(PdfObject pdfobj, PdfReader pdfreader, javax.swing.tree.DefaultMutableTreeNode node)` Recursive investigate PDF Objecttree (other than pagetree objects!)
`protected void` `iterateOutlines(PdfDictionary outlines, PdfReader pdfreader, javax.swing.tree.DefaultMutableTreeNode node)`
`protected void` `iteratePages(PdfDictionary page, PdfReader pdfreader, javax.swing.tree.DefaultMutableTreeNode node)` Walk down the Pagetree
`void` `removeTreeModelListener(javax.swing.event.TreeModelListener l)`
`void` `run()` When an object implementing interface `Runnable` is used to create a thread, starting the thread causes the object's `run` method to be called in that separately executing thread.
`void` `updatecount()`
`void` `valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)` Messaged when the user has altered the value for the item identified by `path` to `newValue`.

Methods inherited from class java.lang.Thread

`activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### root

    javax.swing.tree.DefaultMutableTreeNode root

### filenode

    javax.swing.tree.DefaultMutableTreeNode filenode

### pagecount

    int pagecount

### progressdialog

    ProgressDialog progressdialog

### numberofpages

    int numberofpages

### pageInh

    java.util.ArrayList pageInh

### treeModelListeners

    private transient java.util.Vector treeModelListeners

### reader

    PdfReader reader

Constructor Detail

### AnalyzePDF

    public AnalyzePDF(java.lang.String infile,
                      ProgressDialog blubb)

Method Detail

### getXReftable

    public javax.swing.table.TableModel getXReftable()

### iteratePages

    protected void iteratePages(PdfDictionary page,
                                PdfReader pdfreader,
                                javax.swing.tree.DefaultMutableTreeNode node)

  Walk down the Pagetree

  Parameters:
    `page` - PdfDictionary
    `pdfreader` - PdfReader
    `count_in_leaf` - int
    `node` - DefaultMutableTreeNode

### iterateOutlines

    protected void iterateOutlines(PdfDictionary outlines,
                                   PdfReader pdfreader,
                                   javax.swing.tree.DefaultMutableTreeNode node)

### iterateObjects

    public void iterateObjects(PdfObject pdfobj,
                               PdfReader pdfreader,
                               javax.swing.tree.DefaultMutableTreeNode node)

  Recursive investigate PDF Objecttree (other than pagetree objects!)

  Specified by:
    `iterateObjects` in interface `ICommonAnalyzer`
  Parameters:
    `pdfobj` - PdfObject
    `pdfreader` - PdfReader
    `node` - DefaultMutableTreeNode

### getRoot

    public java.lang.Object getRoot()

  Returns the root of the tree.

  Specified by:
    `getRoot` in interface `javax.swing.tree.TreeModel`
  Returns:
    the root of the tree

### getChild

    public java.lang.Object getChild(java.lang.Object parent,
                                     int index)

  Returns the child of `parent` at index `index` in the parent's child array.

  Specified by:
    `getChild` in interface `javax.swing.tree.TreeModel`
  Parameters:
    `parent` - a node in the tree, obtained from this data source
    `index` - int
  Returns:
    the child of `parent` at index `index`

### getChildCount

    public int getChildCount(java.lang.Object parent)

  Returns the number of children of `parent`.

  Specified by:
    `getChildCount` in interface `javax.swing.tree.TreeModel`
  Parameters:
    `parent` - a node in the tree, obtained from this data source
  Returns:
    the number of children of the node `parent`

### isLeaf

    public boolean isLeaf(java.lang.Object node)

  Returns `true` if `node` is a leaf.

  Specified by:
    `isLeaf` in interface `javax.swing.tree.TreeModel`
  Parameters:
    `node` - a node in the tree, obtained from this data source
  Returns:
    true if `node` is a leaf

### valueForPathChanged

    public void valueForPathChanged(javax.swing.tree.TreePath path,
                                    java.lang.Object newValue)

  Messaged when the user has altered the value for the item identified by `path` to `newValue`.

  Specified by:
    `valueForPathChanged` in interface `javax.swing.tree.TreeModel`
  Parameters:
    `path` - path to the node that the user has altered
    `newValue` - the new value from the TreeCellEditor

### getIndexOfChild

    public int getIndexOfChild(java.lang.Object parent,
                               java.lang.Object child)

  Returns the index of child in parent.

  Specified by:
    `getIndexOfChild` in interface `javax.swing.tree.TreeModel`
  Parameters:
    `parent` - a note in the tree, obtained from this data source
    `child` - the node we are interested in
  Returns:
    the index of the child in the parent, or -1 if either `child` or `parent` are `null`

### removeTreeModelListener

    public void removeTreeModelListener(javax.swing.event.TreeModelListener l)

  Specified by:
    `removeTreeModelListener` in interface `javax.swing.tree.TreeModel`

### addTreeModelListener

    public void addTreeModelListener(javax.swing.event.TreeModelListener l)

  Specified by:
    `addTreeModelListener` in interface `javax.swing.tree.TreeModel`

### fireTreeNodesChanged

    protected void fireTreeNodesChanged(javax.swing.event.TreeModelEvent e)

### fireTreeNodesInserted

    protected void fireTreeNodesInserted(javax.swing.event.TreeModelEvent e)

### fireTreeNodesRemoved

    protected void fireTreeNodesRemoved(javax.swing.event.TreeModelEvent e)

### fireTreeStructureChanged

    protected void fireTreeStructureChanged(javax.swing.event.TreeModelEvent e)

### run

    public void run()

  When an object implementing interface `Runnable` is used to create a thread, starting the thread causes the object's `run` method to be called in that separately executing thread.

  Specified by:
    `run` in interface `java.lang.Runnable`
  Overrides:
    `run` in class `java.lang.Thread`

### getPagecount

    public int getPagecount()

### updatecount

    public void updatecount()