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

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

All Implemented Interfaces:
  ICommonAnalyzer, Runnable, TreeModel

public class AnalyzePDF
extends Thread
implements TreeModel, ICommonAnalyzer

Field Summary
`(package private) ProgressDialog` `blubb`
`(package private) DefaultMutableTreeNode` `filenode`
`(package private) int` `numberofpages`
`(package private) int` `pagecount`
`(package private) ArrayList` `pageInh`
`(package private) PdfReader` `reader`
`(package private) DefaultMutableTreeNode` `root`
`private Vector` `treeModelListeners`

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

Constructor Summary
`AnalyzePDF(String infile, ProgressDialog blubb)`

Method Summary
`void` `addTreeModelListener(TreeModelListener l)`
`protected void` `fireTreeNodesChanged(TreeModelEvent e)`
`protected void` `fireTreeNodesInserted(TreeModelEvent e)`
`protected void` `fireTreeNodesRemoved(TreeModelEvent e)`
`protected void` `fireTreeStructureChanged(TreeModelEvent e)`
`Object` `getChild(Object parent, int index)` Returns the child of `parent` at index `index` in the parent's child array.
`int` `getChildCount(Object parent)` Returns the number of children of `parent`.
`int` `getIndexOfChild(Object parent, Object child)` Returns the index of child in parent.
`int` `getPagecount()`
`Object` `getRoot()` Returns the root of the tree.
`boolean` `isLeaf(Object node)` Returns `true` if `node` is a leaf.
`void` `iterateObjects(PdfObject pdfobj, PdfReader pdfreader, DefaultMutableTreeNode node)` Recursive investigate PDF Objecttree (other than pagetree objects!)
`protected void` `iterateOutlines(PdfDictionary outlines, PdfReader pdfreader, DefaultMutableTreeNode node)`
`protected void` `iteratePages(PdfDictionary page, PdfReader pdfreader, DefaultMutableTreeNode node)` Walk down the Pagetree
`void` `removeTreeModelListener(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(TreePath path, 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, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, 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

    DefaultMutableTreeNode root

### filenode

    DefaultMutableTreeNode filenode

### pagecount

    int pagecount

### blubb

    ProgressDialog blubb

### numberofpages

    int numberofpages

### pageInh

    ArrayList pageInh

### treeModelListeners

    private transient Vector treeModelListeners

### reader

    PdfReader reader

Constructor Detail

### AnalyzePDF

    public AnalyzePDF(String infile,
                      ProgressDialog blubb)

Method Detail

### iteratePages

    protected void iteratePages(PdfDictionary page,
                                PdfReader pdfreader,
                                DefaultMutableTreeNode node)

  Walk down the Pagetree

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

### iterateOutlines

    protected void iterateOutlines(PdfDictionary outlines,
                                   PdfReader pdfreader,
                                   DefaultMutableTreeNode node)

### iterateObjects

    public void iterateObjects(PdfObject pdfobj,
                               PdfReader pdfreader,
                               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 Object getRoot()

  Returns the root of the tree.

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

### getChild

    public Object getChild(Object parent,
                           int index)

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

  Specified by:
    `getChild` in interface `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(Object parent)

  Returns the number of children of `parent`.

  Specified by:
    `getChildCount` in interface `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(Object node)

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

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

### valueForPathChanged

    public void valueForPathChanged(TreePath path,
                                    Object newValue)

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

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

### getIndexOfChild

    public int getIndexOfChild(Object parent,
                               Object child)

  Returns the index of child in parent.

  Specified by:
    `getIndexOfChild` in interface `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(TreeModelListener l)

  Specified by:
    `removeTreeModelListener` in interface `TreeModel`

### addTreeModelListener

    public void addTreeModelListener(TreeModelListener l)

  Specified by:
    `addTreeModelListener` in interface `TreeModel`

### fireTreeNodesChanged

    protected void fireTreeNodesChanged(TreeModelEvent e)

### fireTreeNodesInserted

    protected void fireTreeNodesInserted(TreeModelEvent e)

### fireTreeNodesRemoved

    protected void fireTreeNodesRemoved(TreeModelEvent e)

### fireTreeStructureChanged

    protected void fireTreeStructureChanged(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 `Runnable`

### getPagecount

    public int getPagecount()

### updatecount

    public void updatecount()