package uk.ac.shef.dcs.jate.nlp;
import uk.ac.shef.dcs.jate.nlp.opennlp.ChunkerOpenNLP;
import uk.ac.shef.dcs.jate.nlp.opennlp.POSTaggerOpenNLP;
import uk.ac.shef.dcs.jate.nlp.opennlp.SentenceSplitterOpenNLP;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
/**
* Created by zqz on 24/09/2015.
*/
public class InstanceCreator {
public static SentenceSplitter createSentenceSplitter(String className, InputStream model)
throws ClassNotFoundException, NoSuchMethodException,
IllegalAccessException, InvocationTargetException, InstantiationException {
if(className.equals(SentenceSplitterOpenNLP.class.getName())){
return (SentenceSplitter) Class.forName(className).
getDeclaredConstructor(InputStream.class).newInstance(model);
}
return null;
}
public static POSTagger createPOSTagger(String className, InputStream model)
throws ClassNotFoundException, NoSuchMethodException,
IllegalAccessException, InvocationTargetException, InstantiationException {
if(className.equals(POSTaggerOpenNLP.class.getName())){
return (POSTagger) Class.forName(className).getDeclaredConstructor(InputStream.class).newInstance(model);
}
return null;
}
public static Chunker createChunker(String className, InputStream model)
throws ClassNotFoundException, NoSuchMethodException,
IllegalAccessException, InvocationTargetException, InstantiationException {
if(className.equals(ChunkerOpenNLP.class.getName())){
return (Chunker) Class.forName(className).getDeclaredConstructor(InputStream.class).newInstance(model);
}
return null;
}
}