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

import java.io.Reader;
import java.io.Writer;

/**
 * @author Sangwon Park (hudoni@world.kaist.ac.kr), CILab, SWRC, Kaist
 *
 */
public interface Module {
	public abstract String getName();
	
	public abstract void initialize(Reader in, Writer out, String configFile) throws Exception;
	
	public abstract void run() throws Exception;
	
	public abstract void setReader(Reader in) throws Exception;
	
	public abstract void setWriter(Writer out) throws Exception;
	
	public abstract void shutdown();
}