From c68ad0ec056b37c82debebcecfcde1866d61b4d9 Mon Sep 17 00:00:00 2001 From: tknall Date: Tue, 25 Nov 2008 12:03:13 +0000 Subject: Removing pdfbox from source. git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@301 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../java/org/pdfbox/pdfviewer/PDFTreeModel.java | 332 --------------------- 1 file changed, 332 deletions(-) delete mode 100644 src/main/java/org/pdfbox/pdfviewer/PDFTreeModel.java (limited to 'src/main/java/org/pdfbox/pdfviewer/PDFTreeModel.java') diff --git a/src/main/java/org/pdfbox/pdfviewer/PDFTreeModel.java b/src/main/java/org/pdfbox/pdfviewer/PDFTreeModel.java deleted file mode 100644 index 368a2ca..0000000 --- a/src/main/java/org/pdfbox/pdfviewer/PDFTreeModel.java +++ /dev/null @@ -1,332 +0,0 @@ -/** - * Copyright (c) 2003-2005, www.pdfbox.org - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of pdfbox; nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * http://www.pdfbox.org - * - */ -package org.pdfbox.pdfviewer; - -/** - * A tree model that uses a cos document. - * - * - * @author wurtz - * @author Ben Litchfield (ben@csh.rit.edu) - * @version $Revision: 1.8 $ - */ -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeModel; - -//import java.awt.event.*; -import javax.swing.event.TreeModelListener; - -import org.pdfbox.cos.COSArray; -import org.pdfbox.cos.COSBase; -import org.pdfbox.cos.COSDictionary; -import org.pdfbox.cos.COSDocument; -import org.pdfbox.cos.COSName; -import org.pdfbox.cos.COSObject; - -import org.pdfbox.pdmodel.PDDocument; - -import java.util.Collections; -import java.util.List; - -/** - * A class to model a PDF document as a tree structure. - * - * @author Ben Litchfield (ben@csh.rit.edu) - * @version $Revision: 1.8 $ - */ -public class PDFTreeModel implements TreeModel -{ - private PDDocument document; - - /** - * constructor. - */ - public PDFTreeModel() - { - //default constructor - } - - /** - * Constructor to take a document. - * - * @param doc The document to display in the tree. - */ - public PDFTreeModel(PDDocument doc) - { - setDocument(doc); - } - - /** - * Set the document to display in the tree. - * - * @param doc The document to display in the tree. - */ - public void setDocument(PDDocument doc) - { - document = doc; - } - /** - * Adds a listener for the TreeModelEvent - * posted after the tree changes. - * - * @param l the listener to add - * @see #removeTreeModelListener - * - */ - public void addTreeModelListener(TreeModelListener l) - { - //required for interface - } - - /** - * Returns the child of parent at index index - * in the parent's - * child array. parent must be a node previously obtained - * from this data source. This should not return null - * if index - * is a valid index for parent (that is index >= 0 && - * index < getChildCount(parent)). - * - * @param parent a node in the tree, obtained from this data source - * @param index The index into the parent object to location the child object. - * @return the child of parent at index index - * - */ - public Object getChild(Object parent, int index) - { - Object retval = null; - if( parent instanceof COSArray ) - { - ArrayEntry entry = new ArrayEntry(); - entry.setIndex( index ); - entry.setValue( ((COSArray)parent).getObject( index ) ); - retval = entry; - } - else if( parent instanceof COSDictionary ) - { - COSDictionary dict = ((COSDictionary)parent); - List keys = dict.keyList(); - Collections.sort( keys ); - Object key = keys.get( index ); - Object value = dict.getDictionaryObject( (COSName)key ); - MapEntry entry = new MapEntry(); - entry.setKey( key ); - entry.setValue( value ); - retval = entry; - } - else if( parent instanceof MapEntry ) - { - retval = getChild( ((MapEntry)parent).getValue(), index ); - } - else if( parent instanceof ArrayEntry ) - { - retval = getChild( ((ArrayEntry)parent).getValue(), index ); - } - else if( parent instanceof COSDocument ) - { - retval = ((COSDocument)parent).getObjects().get( index ); - } - else if( parent instanceof COSObject ) - { - retval = ((COSObject)parent).getObject(); - } - else - { - throw new RuntimeException( "Unknown COS type " + parent.getClass().getName() ); - } - return retval; - } - - /** Returns the number of children of parent. - * Returns 0 if the node - * is a leaf or if it has no children. parent must be a node - * previously obtained from this data source. - * - * @param parent a node in the tree, obtained from this data source - * @return the number of children of the node parent - * - */ - public int getChildCount(Object parent) - { - int retval = 0; - if( parent instanceof COSArray ) - { - retval = ((COSArray)parent).size(); - } - else if( parent instanceof COSDictionary ) - { - retval = ((COSDictionary)parent).size(); - } - else if( parent instanceof MapEntry ) - { - retval = getChildCount( ((MapEntry)parent).getValue() ); - } - else if( parent instanceof ArrayEntry ) - { - retval = getChildCount( ((ArrayEntry)parent).getValue() ); - } - else if( parent instanceof COSDocument ) - { - retval = ((COSDocument)parent).getObjects().size(); - } - else if( parent instanceof COSObject ) - { - retval = 1; - } - return retval; - } - - /** Returns the index of child in parent. If parent - * is null or child is null, - * returns -1. - * - * @param parent a note in the tree, obtained from this data source - * @param child the node we are interested in - * @return the index of the child in the parent, or -1 if either - * child or parent are null - * - */ - public int getIndexOfChild(Object parent, Object child) - { - int retval = -1; - if( parent != null && child != null ) - { - if( parent instanceof COSArray ) - { - COSArray array = (COSArray)parent; - if( child instanceof ArrayEntry ) - { - ArrayEntry arrayEntry = (ArrayEntry)child; - retval = arrayEntry.getIndex(); - } - else - { - retval = array.indexOf( (COSBase)child ); - } - } - else if( parent instanceof COSDictionary ) - { - MapEntry entry = (MapEntry)child; - COSDictionary dict = (COSDictionary)parent; - List keys = dict.keyList(); - Collections.sort( keys ); - for( int i=0; retval == -1 && inull - * only if the tree has no nodes. - * - * @return the root of the tree - * - */ - public Object getRoot() - { - return document.getDocument().getTrailer(); - } - - /** Returns true if node is a leaf. - * It is possible for this method to return false - * even if node has no children. - * A directory in a filesystem, for example, - * may contain no files; the node representing - * the directory is not a leaf, but it also has no children. - * - * @param node a node in the tree, obtained from this data source - * @return true if node is a leaf - * - */ - public boolean isLeaf(Object node) - { - boolean isLeaf = !(node instanceof COSDictionary || - node instanceof COSArray || - node instanceof COSDocument || - node instanceof COSObject || - (node instanceof MapEntry && !isLeaf(((MapEntry)node).getValue()) ) || - (node instanceof ArrayEntry && !isLeaf(((ArrayEntry)node).getValue()) )); - return isLeaf; - } - - /** Removes a listener previously added with - * addTreeModelListener. - * - * @see #addTreeModelListener - * @param l the listener to remove - * - */ - - public void removeTreeModelListener(TreeModelListener l) - { - //required for interface - } - - /** Messaged when the user has altered the value for the item identified - * by path to newValue. - * If newValue signifies a truly new value - * the model should post a treeNodesChanged event. - * - * @param path path to the node that the user has altered - * @param newValue the new value from the TreeCellEditor - * - */ - public void valueForPathChanged(TreePath path, Object newValue) - { - //required for interface - } -} \ No newline at end of file -- cgit v1.2.3