Merge branch 'kjvdh/features/PhylogenyViewer_tabbedsupport' into merge/2_11_2/kjvdh...
[jalview.git] / src / jalview / ext / treeviewer / ExternalTreeBuilderI.java
diff --git a/src/jalview/ext/treeviewer/ExternalTreeBuilderI.java b/src/jalview/ext/treeviewer/ExternalTreeBuilderI.java
new file mode 100644 (file)
index 0000000..8fd1d1d
--- /dev/null
@@ -0,0 +1,31 @@
+package jalview.ext.treeviewer;
+
+import jalview.datamodel.SequenceI;
+
+import java.util.Map;
+
+/**
+ * Note that this will take anything as a Tree or TreeNode object as no
+ * assumptions can be made about the inheritance structure of Tree or TreeNode
+ * (besides being Objects).
+ * 
+ * @author kjvanderheide
+ *
+ * @param <T>
+ *          Tree object that the tree viewer requires.
+ * @param <N>
+ *          Tree node object that the tree viewer requires.
+ */
+public interface ExternalTreeBuilderI<T, N>
+{
+  public T buildTree(N treeRoot);
+
+  public T buildTree();
+
+  public Map<SequenceI, N> getAlignmentBoundNodes();
+
+  public Map<N, SequenceI> getNodesBoundAlignment();
+
+  public String generateTreeName();
+
+}