source: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/tree/Tree.java @ 1612

Last change on this file since 1612 was 1579, checked in by rkrimmel, 10 years ago

Code cleanup, removed alot of unneccessary code from pal sources

File size: 1.2 KB
Line 
1// Tree.java
2//
3// (c) 1999-2001 PAL Development Core Team
4//
5// This package may be distributed under the
6// terms of the Lesser GNU General Public License (LGPL)
7
8
9package de.ugoe.cs.autoquest.tasktrees.alignment.pal.tree;
10
11
12
13/**
14 * Interface for a phylogenetic or genealogical tree.
15 *
16 * @version $Id: Tree.java,v 1.17 2001/11/20 03:44:49 alexi Exp $
17 *
18 * @author Alexei Drummond
19 */
20public interface Tree {
21
22        /**
23         * @return the root node of this tree.
24         */
25        Node getRoot();
26
27        /**
28         * This method constructs a tree from the given root node.
29         * @param root the root node of the tree to construct.
30         */
31        void setRoot(Node root);
32
33        /**
34         * @return a count of the number of external nodes (tips) in this
35         * tree.
36         */
37        int getExternalNodeCount();
38       
39        /**
40         * @return a count of the number of internal nodes (and hence clades)
41         * in this tree.
42         */
43        int getInternalNodeCount();
44
45        /**
46         * @return the ith external node in the tree.
47         */
48        Node getExternalNode(int i);
49       
50        /**
51         * @return the ith internal node in the tree.
52         */
53        Node getInternalNode(int i);
54
55        /**
56         * This method is called to ensure that the calls to other methods
57         * in this interface are valid.
58         */
59        void createNodeList();
60
61
62}
Note: See TracBrowser for help on using the repository browser.