/*
* Copyright (c) 2004-2009, Jean-Marc François. All Rights Reserved.
* Licensed under the New BSD license. See the LICENSE file.
*/
package be.ac.ulg.montefiore.run.jahmm.io;
import java.io.IOException;
import java.io.StreamTokenizer;
import be.ac.ulg.montefiore.run.jahmm.Opdf;
public class OpdfGenericReader
extends OpdfReader<Opdf<?>>
{
String keyword()
{
throw new AssertionError("Cannot call method");
}
public Opdf<?> read(StreamTokenizer st)
throws IOException, FileFormatException
{
if (st.nextToken() != StreamTokenizer.TT_WORD)
throw new FileFormatException("Keyword expected");
for (OpdfReader<?> r : new OpdfReader[] {
new OpdfIntegerReader(),
new OpdfGaussianReader(),
new OpdfGaussianMixtureReader(),
new OpdfMultiGaussianReader() })
if (r.keyword().equals(st.sval)) {
st.pushBack();
return r.read(st);
}
throw new FileFormatException("Unknown distribution");
}
}