/**
 * 
 */
package kr.ac.kaist.swrc.jhannanum.hannanum;

import kr.ac.kaist.swrc.jhannanum.module.ma.MorphAnalyzer;
import kr.ac.kaist.swrc.jhannanum.module.sentence.SentenceSplitter;
import kr.ac.kaist.swrc.jhannanum.module.tagger.HMMTagger;
import kr.ac.kaist.swrc.jhannanum.module.unknown.UnknownProcessor;
import kr.ac.kaist.swrc.jhannanum.module.usn.USNProcessor;

/**
 * @author Sangwon Park (hudoni@world.kaist.ac.kr), CILab, SWRC, Kaist
 *
 */
public class WorkflowFactory {
	public static final int WORKFLOW_HMM_TAGGER = 0x01;
	
	public static void setDefinedWorkflow(HanNanum han, int workflowFlag) throws Exception {
		switch (workflowFlag) {
		case WORKFLOW_HMM_TAGGER:
			han.addModule(new SentenceSplitter(), null);
			han.addModule(new MorphAnalyzer(), "data/morph.conf");
			han.addModule(new UnknownProcessor(), null);
			han.addModule(new USNProcessor(), null);
			han.addModule(new HMMTagger(), null);
			break;
		}
	}
}
