JAL-281 split up TreeParser into separate format parsers
[jalview.git] / src / jalview / ext / forester / io / ForesterParser.java
1 package jalview.ext.forester.io;
2
3 import jalview.datamodel.SequenceI;
4 import jalview.ext.archaeopteryx.Tree;
5 import jalview.ext.treeviewer.TreeI;
6 import jalview.ext.treeviewer.TreeParserI;
7
8 import java.io.IOException;
9
10 import org.forester.io.parsers.PhylogenyParser;
11 import org.forester.phylogeny.Phylogeny;
12
13 public class ForesterParser implements TreeParserI
14 {
15   private final PhylogenyParser parser;
16
17   private SequenceI[] seqs;
18
19   public ForesterParser(PhylogenyParser foresterParser)
20   {
21     parser = foresterParser;
22   }
23
24   @Override
25   public TreeI[] parse() throws IOException
26   {
27     Phylogeny[] foresterTrees = parser.parse();
28     TreeI[] jalviewTrees = new TreeI[foresterTrees.length];
29
30     for (int i = 0; i < foresterTrees.length; i++)
31     {
32       jalviewTrees[i] = new Tree(foresterTrees[i]);
33     }
34     return jalviewTrees;
35
36   }
37
38   @Override
39   public void setSource(Object source) throws IOException
40   {
41     parser.setSource(source);
42
43   }
44
45   @Override
46   public String getName()
47   {
48     return parser.getName();
49   }
50 }