Print

Print


Commit in lcsim/src/org/lcsim/util/aida on MAIN
AidaCursor.java-2571.3 removed


lcsim/src/org/lcsim/util/aida
AidaCursor.java removed after 1.3
diff -N AidaCursor.java
--- AidaCursor.java	13 Feb 2007 00:43:05 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,257 +0,0 @@
-package org.lcsim.util.aida;
-
-import hep.aida.IAnalysisFactory;
-import hep.aida.IManagedObject;
-import hep.aida.ITree;
-import hep.aida.ITreeFactory;
-
-import java.io.IOException;
-
-/**
- * Utility class for accessing an AIDA
- * file's contents sequentially.
- * 
- * @author jeremym
- * @version $Id: AidaCursor.java,v 1.3 2007/02/13 00:43:05 jeremy Exp $
- */
-public class AidaCursor
-{    
-    private String filepath;
-    private int currentIndex;    
-    private ITree tree;
-    private String[] objectNames;
-    private String[] objectTypes;
-    private int nnames;
-
-    /**
-     * Create a cursor from a filepath.
-     * @param filepath
-     */
-    public AidaCursor(String filepath)
-    {    
-        this.filepath=filepath;
-        try {
-            ITree tree = open(this.filepath);
-            setup(tree);
-        }
-        catch ( Throwable x )
-        {
-            throw new RuntimeException(x);
-        }
-    }
-
-    /**
-     * Create a cursor from an ITree.
-     * @param tree
-     */
-    public AidaCursor(ITree tree)
-    {
-        setup(tree);
-    }
-
-    /**
-     * Open the AIDA file at filepath.
-     * @param filepath Path to AIDA file.
-     * @throws IOException Problem reading AIDA file.
-     */
-    private ITree open(String filepath) throws IOException
-    {       
-        ITreeFactory tf = IAnalysisFactory.create().createTreeFactory();
-        return tf.create(filepath);
-    }
-
-    /**
-     * Setup this cursor from an open ITree. 
-     * @param tree An AIDA ITree.
-     */
-    private void setup(ITree tree)
-    {
-        this.tree = tree;
-        objectNames = this.tree.listObjectNames("/",true);
-        nnames=objectNames.length;
-        objectTypes = this.tree.listObjectTypes("/",true);
-        reset();
-    }
-
-    /**
-     * File path.
-     * @return
-     */
-    public String filepath()
-    {
-        return filepath;
-    }
-
-    /**
-     * ITree associated with cursor.
-     * @return
-     */
-    public ITree tree()
-    {
-        return tree;
-    }
-
-    /**
-     * Current AIDA object at position().
-     * @return The IManagedObject at the current position.
-     */
-    public IManagedObject object()
-    {
-        return tree.find(objectNames[position()]);
-    }
-
-    /**
-     * Class of AIDA object at position().
-     * @return Type of AIDA object.
-     */
-    public Class objectClass()
-    {
-        return object().getClass();
-    }
-
-    /**
-     * Type of AIDA object at position().
-     * @return The type string of the AIDA object at current position.
-     */
-    public String type()
-    {
-        return objectTypes[position()];
-    }
-    
-    /**
-     * Full name of current object.
-     * @return Name of current object.
-     */
-    public String name()
-    {
-        return objectNames[position()];
-    }
-
-    /**
-     * Increment the position by 1, skipping directories.
-     * @return The next position that is an AIDA object or end.
-     */
-    public int next()
-    {
-        while (currentIndex < end())
-        {
-            currentIndex += 1;
-                       
-            if (position() == end() || !isdir())
-            {
-                break;
-            }
-        }
-        return position();
-    }
-
-    /**
-     * Decrement the position by 1, skipping directories.
-     * @return The first previous position that is an AIDA object or begin.
-     */
-    public int prev()
-    {
-        while (currentIndex > begin() )
-        {
-            currentIndex -= 1;
-            
-            if (position() == end() || !isdir())
-            {
-                break;
-            }
-        }       
-        return position();
-    }
-
-    /**
-     * Return the begin position, or 0.  
-     * Does not set position.
-     * @return The begin position.
-     */
-    public int begin()
-    {
-        return 0;
-    }
-
-    /**
-     * Return the end position, or size of names array.  
-     * Does not set position.
-     * @return The end position.
-     */
-    public int end()
-    {
-        return nnames;
-    }
-
-    /**
-     * The current position.
-     * @return The current position.
-     */
-    public int position()
-    {
-        return currentIndex;
-    }
-
-    /**
-     * Go to first object at position or greater.
-     * @param idx The new index.
-     * @return The new position.
-     */
-    public int seek(int idx)
-    {
-        if (idx < end())
-        {
-            currentIndex=idx;           
-        }
-        else {
-            currentIndex=end();
-        }
-        return position();
-    }
-
-    /** 
-     * Reset cursor to begginning.
-     * @return The new position.
-     */
-    public int reset() 
-    {
-        seek(begin());
-        if (isdir())
-        {
-            next();
-        }
-        return position();
-    }
-
-    /**
-     * Check if the current position is a directory. 
-     * @return The object is a directory or not.
-     */
-    public boolean isdir()
-    {
-        boolean isdir=false;
-        if (position() != end())
-        {
-            isdir = (objectTypes[position()].compareTo("dir") == 0); 
-        }
-        return isdir;
-    }
-    
-    /**
-     * Find an object by name and set to its position.
-     * @param name Name of object to be found.
-     * @return New position if found or end() if not found.
-     */
-    public int find(String name)
-    {
-        for ( int i=seek(begin()); i<end(); i++ )
-        {
-            if ( name().compareTo(name) == 0 )
-            {
-                break;
-            }
-            next();
-        }
-        return position();
-    }
-}
\ No newline at end of file
CVSspam 0.2.8