JAL-281 ForesterParser now extends from AlignFile
[jalview.git] / src / jalview / ext / forester / io / ForesterParser.java
1 package jalview.ext.forester.io;
2
3 import jalview.api.FeatureSettingsModelI;
4 import jalview.datamodel.AlignmentI;
5 import jalview.datamodel.SequenceI;
6 import jalview.ext.archaeopteryx.Tree;
7 import jalview.ext.treeviewer.TreeI;
8 import jalview.ext.treeviewer.TreeParserI;
9 import jalview.io.AlignFile;
10 import jalview.io.DataSourceType;
11 import jalview.io.FileParse;
12
13 import java.io.IOException;
14
15 import org.forester.io.parsers.PhylogenyParser;
16 import org.forester.io.parsers.nexus.NexusPhylogeniesParser;
17 import org.forester.io.parsers.phyloxml.PhyloXmlParser;
18 import org.forester.phylogeny.Phylogeny;
19
20 public class ForesterParser extends AlignFile
21         implements TreeParserI
22 {
23   private final PhylogenyParser parser;
24
25   private TreeI[] parsedTrees;
26
27   protected ForesterParser(PhylogenyParser foresterParser, FileParse source)
28   {
29     parser = foresterParser;
30   }
31
32   public static ForesterParser createNexusParser(FileParse source)
33   {
34     return new ForesterParser(new NexusPhylogeniesParser(), source);
35   }
36
37   public static ForesterParser createPhyloXmlParser(FileParse source)
38   {
39     // support non-xsd validating?
40     return new ForesterParser(
41             PhyloXmlParser.createPhyloXmlParserXsdValidating(), source);
42   }
43
44   @Override
45   public void parse() throws IOException
46   {
47     Phylogeny[] foresterTrees = parser.parse();
48     parsedTrees = new TreeI[foresterTrees.length];
49
50     for (int i = 0; i < foresterTrees.length; i++)
51     {
52       parsedTrees[i] = new Tree(foresterTrees[i]);
53     }
54
55   }
56
57   @Override
58   public void setSource(Object source) throws IOException
59   {
60     parser.setSource(source);
61
62   }
63
64   @Override
65   public String getName()
66   {
67     return parser.getName();
68   }
69
70   @Override
71   public SequenceI[] getSeqsAsArray()
72   {
73     // TODO Auto-generated method stub
74     return null;
75   }
76
77   @Override
78   public void addAnnotations(AlignmentI al)
79   {
80     // TODO Auto-generated method stub
81
82   }
83
84   @Override
85   public void addGroups(AlignmentI al)
86   {
87     // TODO Auto-generated method stub
88
89   }
90
91   @Override
92   public void setSeqs(SequenceI[] sequencesArray)
93   {
94     // TODO Auto-generated method stub
95
96   }
97
98   @Override
99   public boolean hasWarningMessage()
100   {
101     // TODO Auto-generated method stub
102     return false;
103   }
104
105   @Override
106   public String getWarningMessage()
107   {
108     // TODO Auto-generated method stub
109     return null;
110   }
111
112   @Override
113   public String getInFile()
114   {
115     // TODO Auto-generated method stub
116     return null;
117   }
118
119   @Override
120   public DataSourceType getDataSourceType()
121   {
122     // TODO Auto-generated method stub
123     return null;
124   }
125
126   @Override
127   public FeatureSettingsModelI getFeatureColourScheme()
128   {
129     // TODO Auto-generated method stub
130     return null;
131   }
132
133
134
135   @Override
136   public String print(SequenceI[] seqs, boolean jvsuffix)
137   {
138     // TODO Auto-generated method stub
139     return null;
140   }
141
142   @Override
143   public TreeI[] getParsedTrees()
144   {
145     return parsedTrees;
146   }
147 }