Merge branch 'develop' of https://source.jalview.org/git/jalview.git into kjvdh/featu...
[jalview.git] / src / jalview / ext / treeviewer / TreeI.java
1 package jalview.ext.treeviewer;
2
3 import jalview.datamodel.SequenceI;
4
5 import java.io.File;
6 import java.io.IOException;
7 import java.util.Iterator;
8 import java.util.List;
9
10 public interface TreeI
11 {
12   public TreeNodeI getRoot();
13
14   public TreeNodeI getNodeWithName(String name);
15
16   public TreeNodeI getFurthestNode();
17
18   public TreeNodeI[] getAllNodes();
19
20   public String[] getAllLeafNames();
21
22   public List<SequenceI> getNodeSequences();
23
24   public void setTreeName(String treeTitle);
25
26   public void setRerootable(boolean b);
27
28   public void setRooted(boolean b);
29
30   public boolean isEmpty();
31
32   public String getTreeName();
33
34   public void setRoot(TreeNodeI rootNode);
35
36   public double getHeight(boolean adjustForCollapsedSubtrees);
37
38   public Iterator<TreeNodeI> iterateInPreOrder();
39
40   public Iterator<TreeNodeI> iterateInLevelOrder();
41
42   public Iterator<TreeNodeI> iterateInPostOrder();
43
44   TreeFrameI createTreeViewerFromTree(String instanceTitle);
45
46   public void writeToXml(File outputFile) throws IOException;
47
48 }